Method and system for enhanced location based information for fixed platforms

ABSTRACT

Fixed infrastructure devices (FIDs) may be configured to work with other devices (e.g., other FIDs, mobile wireless devices, etc.) to obtain or improve location information and/or provide enhanced location based services (e.g., emergency location service, commercial location service, internal location service, lawful intercept location service, etc.) to other devices or programs. For example, a first fixed wireless device may be configured to receive information that was obtained via a geospatial system, and determine whether it is able to establish a location fix based on this information. In response to determining that it is unable to establish a location fix based on the received information, the device may establish a communication group and/or collect additional location information from devices that belong to the communication group. The device may use this information to compute a new three-dimensional location fix, and use this new fix to provide the location based service.

RELATED APPLICATIONS

This application claims the benefit of priority to U.S. Provisional Application No. 62/271,801, entitled “Method and System for Enhanced Location Based Information for Fixed Platforms” filed on Dec. 28, 2015, and is a continuation-in-part of U.S. patent application Ser. No. 15/083,760 entitled “Method and System for Providing Enhanced Location Based Information for Wireless Handsets” filed Mar. 29, 2016, which is a continuation of U.S. patent application Ser. No. 14/823,244 entitled “Method and System for Providing Enhanced Location Based Information for Wireless Handsets” filed Aug. 11, 2015, which is a continuation of U.S. patent application Ser. No. 14/293,056 entitled “Method and System for Providing Enhanced Location Based Information for Wireless Handsets” filed Jun. 2, 2014 and issued Jan. 5, 2016 as U.S. Pat. No. 9,232,354, which is a continuation of U.S. patent application Ser. No. 13/585,125 entitled “Method and System for Providing Enhanced Location Based Information for Wireless Handsets” filed Aug. 14, 2012 and issued Jul. 22, 2014 as U.S. Pat. No. 8,787,944, which claims the benefit of priority of U.S. Provisional Application No. 61/575,300, entitled “Method and System for Providing Enhanced Location Based Information for Wireless Handsets” filed Aug. 18, 2011, and U.S. Provisional Application No. 61/573,636, entitled “Method and System for Providing Enhanced Location Based Information for Wireless Handsets” filed Sep. 9, 2011, the entire contents of all of which are hereby incorporated by reference.

FIELD OF INVENTION

The present application relates generally to a wireless communication systems, and more particularly to methods and systems that provide enhanced location information for wireless fixed devices and wireless mobile devices.

BACKGROUND

Wireless communication technologies and mobile electronic devices (e.g., cellular phones, tablets, laptops) have grown in popularity and use over the past several years. To keep pace with increased consumer demands, mobile electronic devices have become more powerful and feature rich, and now commonly include global positioning system (GPS) receivers, sensors, and many other components for connecting users to friends, work, leisure activities and entertainment. However, despite these advancements, mobile devices remain lacking in their ability to provide effective location information or location based services. As mobile devices and technologies continue to grow in popularity and use, generating enhanced location information for mobile devices is expected to become an important and challenging design criterion for mobile device manufactures and network engineers.

SUMMARY

The various aspects include methods of providing a location based service on a first fixed wireless device, which may include determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system, collecting location information from a communication group in response to determining the first fixed wireless device is unable to establish a location fix, in which the communication group includes at least a second wireless device, computing a new three-dimensional location fix for the first fixed wireless device based on the location information collected from the communication group, the new location information including three-dimensional location and position information, and providing location based service based on the new three-dimensional location fix.

In an aspect, collecting location information from the communication group may include receiving GPS timing information from a second wireless device in the communication group. In a further aspect, the second wireless device may be a fixed wireless device. In an another aspect, the second wireless device may be a mobile wireless device.

In a further aspect, collecting location information from the communication group may include receiving, by the first fixed wireless device, location information from a first member of the communication group that was forwarded to the first member from a second member of the communication group. In a further aspect, collecting location information from the communication group may include receiving, by the first fixed wireless device, location information that was forwarded by the first member of the communication group from a fixed wireless device (or a mobile wireless device) that is outside of the communication group.

In a further aspect, collecting location information may further include collecting three-dimensional location information from a network based location server. In a further aspect, determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system may include determining whether a fixed infrastructure device (e.g., a cell tower antenna, an eNodeB, a small cell device, a femto cell device, a WiFi access node, a beacon device, etc.) is able to establish a location fix based on information obtained via a geospatial system. In some aspects, the first fixed wireless device includes the geospatial system. In other aspects, the first fixed wireless device does not include the geospatial system.

In a further aspect, the method may include determining whether information obtained via the geospatial system is accurate, collecting location information from a plurality of devices in the communication group response to determining that the information obtained via the geospatial system is not accurate, computing more precise location information (or a waypoint) based on the collected location information, the more precise location information including three-dimensional information, and using the computed more precise location information to provide the location based service.

In a further aspect, the method may include establishing a first connection to a data network, in which the first connection is not a cellular data uplink transmission path, obtaining location information for a current location of the first fixed wireless device via the first connection, determining a variance between the received location information and a locally determined location, determining whether the variance exceeds a threshold value, collecting additional location information from a plurality of transceivers in the communication group in response to determining that the variance exceeds the threshold value, computing more precise location information (or a waypoint) based on the location information collected from the plurality of transceivers, and using the more precise location information to provide the location based service.

In a further aspect, the method may include collecting location information from a plurality of mobile devices in a communication group, computing more precise location information (or a waypoint) based on the location information collected from the plurality of mobile devices, and using the generated location and position information to provide the location based service, in which computing the more precise location information includes using horizontal data to determine a position relative to the Earth's surface, using vertical data to determine a height of the position relative to sea level, and generating three-dimensional information based on the determined position and the determined height.

Further aspects may include a first fixed wireless device that includes various means for providing a location based service, including means for determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system, means for collecting location information from a communication group in response to determining the first fixed wireless device is unable to establish a location fix, in which the communication group includes at least a second wireless device, means for computing a new three-dimensional location fix for the first fixed wireless device based on the location information collected from the communication group, the new location information including three-dimensional location and position information, and means for providing location based service based on the new three-dimensional location fix. In an aspect, means for collecting location information from the communication group includes means for receiving GPS timing information by the first fixed wireless device from the at least a second wireless device.

In a further aspect, means for collecting location information from the communication group includes means for collecting location information form a second wireless device in the communication group. In a further aspect, means for collecting location information from the communication group includes means for collecting location information form a fixed wireless device in the communication group. In a further aspect, means for collecting location information from the communication group includes means for collecting location information form a mobile wireless device in the communication group. In a further aspect, means for collecting location information from the communication group includes means for receiving by the first fixed wireless device location information that was forwarded by a first member of the communication group from a second member of the communication group. In a further aspect, means for collecting location information from the communication group includes means for receiving, by the first fixed wireless device, location information that was forwarded by the first member of the communication group from a wireless device device that is outside of the communication group.

In a further aspect, means for collecting location information further includes means for collecting a three-dimensional location information from a network based location server. In a further aspect, means for determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system includes means for determining whether a fixed infrastructure device (e.g., a cell tower antenna, an eNodeB, a small cell device, a femto cell device, a WiFi access node, a beacon device, etc.) is able to establish a location fix based on information obtained via a geospatial system. In a further aspect, means for determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system includes means for determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system in the first fixed wireless device. In a further aspect, means for determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system includes means for determining whether the first fixed wireless device is able to establish a location fix based on information obtained via an geospatial system that is not included in the first fixed wireless device (e.g., via a geospatial system in a second wireless device, etc.).

In a further aspect, the first fixed wireless device (or a second device) may include means for determining whether information obtained via the geospatial system is accurate, means for collecting location information from a plurality of devices in the communication group response to determining that the information obtained via the geospatial system is not accurate, means for computing more precise location information (or a waypoint) based on the collected location information, the more precise location information including three-dimensional information, and means for using the computed more precise location information to provide the location based service.

In a further aspect, the first fixed wireless device (or a second device) may include means for establishing a first connection to a data network, in which the first connection is not a cellular data uplink transmission path, means for obtaining location information for a current location of the first fixed wireless device via the first connection, means for determining a variance between the received location information and a locally determined location, means for determining whether the variance exceeds a threshold value, means for collecting additional location information from a plurality of transceivers in the communication group in response to determining that the variance exceeds the threshold value, means for computing more precise location information (or a waypoint) based on the location information collected from the plurality of transceivers, and means for using the more precise location information to provide the location based service.

In a further aspect, the first fixed wireless device (or a second device) may include means for collecting location information from a plurality of mobile devices in a communication group, means for computing more precise location information (or a waypoint) based on the location information collected from the plurality of mobile devices, and means for using the generated location and position information to provide the location based service. In further aspect, means for computing the more precise location information includes means for using horizontal data to determine a position relative to the Earth's surface, means for using vertical data to determine a height of the position relative to sea level, and means for generating three-dimensional information based on the determined position and the determined height.

Further aspects may include a first fixed wireless device that includes a processor configured with processor-executable instructions to perform operations that include determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system, collecting location information from a communication group in response to determining the first fixed wireless device is unable to establish a location fix, in which the communication group includes at least a second wireless device, computing a new three-dimensional location fix for the first fixed wireless device based on the location information collected from the communication group, the new location information including three-dimensional location and position information, and providing location based service based on the new three-dimensional location fix.

In an aspect, the processor may be configured with processor-executable instructions to perform operations such that collecting location information from the communication group includes receiving GPS timing information by the first fixed wireless device from the at least a second wireless device. In an aspect, the processor may be configured with processor-executable instructions to perform operations such that collecting location information from the communication group includes collecting location information from a second wireless device in the communication group. In an aspect, the processor may be configured with processor-executable instructions to perform operations such that collecting location information from the communication group includes collecting location information from a fixed wireless device. In an aspect, the processor may be configured with processor-executable instructions to perform operations such that collecting location information from the communication group includes collecting location information from a mobile wireless device.

In a further aspect, the processor may be configured with processor-executable instructions to perform operations such that collecting location information from the communication group includes receiving by the first fixed wireless device location information that was forwarded by a first member of the communication group from a second member of the communication group. In a further aspect, the processor may be configured with processor-executable instructions to perform operations such that collecting location information from the communication group includes receiving, by the first fixed wireless device, location information that was forwarded by the first member of the communication group from a fixed wireless device or a mobile wireless device that is outside of the communication group. In a further aspect, the processor may be configured with processor-executable instructions to perform operations such that collecting location information further includes collecting a three-dimensional location information from a network based location server.

In a further aspect, the processor may be configured with processor-executable instructions to perform operations such that collecting location information from the communication group includes receiving location information in a fixed infrastructure device (e.g., a cell tower antenna, an eNodeB, a small cell device, a femto cell device, a WiFi access node, a beacon device, etc.) In a further aspect, the processor may be configured with processor-executable instructions to perform operations such that determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system includes determining whether a fixed infrastructure device (e.g., a cell tower antenna, an eNodeB, a small cell device, a femto cell device, a WiFi access node, a beacon device, etc.) is able to establish a location fix based on information obtained via a geospatial system.

In a further aspect, the processor may be configured with processor-executable instructions to perform operations further including determining whether information obtained via the geospatial system is accurate, collecting location information from a plurality of devices in the communication group response to determining that the information obtained via the geospatial system is not accurate, computing more precise location information (or a waypoint) based on the collected location information, the more precise location information including three-dimensional information, and using the computed more precise location information to provide the location based service.

In a further aspect, the processor may be configured with processor-executable instructions to perform operations further including establishing a first connection to a data network, in which the first connection is not a cellular data uplink transmission path, obtaining location information for a current location of the first fixed wireless device via the first connection, determining a variance between the received location information and a locally determined location, determining whether the variance exceeds a threshold value, collecting additional location information from a plurality of transceivers in the communication group in response to determining that the variance exceeds the threshold value, computing more precise location information (or a waypoint) based on the location information collected from the plurality of transceivers, and using the more precise location information to provide the location based service.

In a further aspect, the processor may be configured with processor-executable instructions to perform operations further including collecting location information from a plurality of mobile devices in a communication group, computing more precise location information (or a waypoint) based on the location information collected from the plurality of mobile devices, and using the generated location and position information to provide the location based service, in which computing the more precise location information includes using horizontal data to determine a position relative to the Earth's surface, using vertical data to determine a height of the position relative to sea level, and generating three-dimensional information based on the determined position and the determined height. Further aspects include a non-transitory server-readable storage medium having stored thereon processor-executable instructions configured cause a first fixed wireless device to perform operations that include determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system, collecting location information from a communication group in response to determining the first fixed wireless device is unable to establish a location fix, in which the communication group includes at least a second wireless device, computing a new three-dimensional location fix for the first fixed wireless device based on the location information collected from the communication group, the new location information including three-dimensional location and position information, and providing location based service based on the new three-dimensional location fix. In an aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations such that collecting location information from the communication group includes receiving GPS timing information by the first fixed wireless device from the at least a second wireless device.

In a further aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations such that collecting location information from a communication group includes collecting information from a second wireless device in the communication group, the second wireless device being fixed wireless device or a mobile wireless device.

In a further aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations such that collecting location information from the communication group includes receiving by the first fixed wireless device location information that was forwarded by a first member of the communication group from a second member of the communication group. In a further aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations such that collecting location information from the communication group includes receiving, by the first fixed wireless device, location information that was forwarded by the first member of the communication group from a fixed wireless device or a mobile wireless device that is outside of the communication group. In a further aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations such that collecting location information further includes collecting a three-dimensional location information from a network based location server.

In a further aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations such that determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system includes determining whether a fixed infrastructure device (e.g., a cell tower antenna, an eNodeB, a small cell device, a femto cell device, a WiFi access node, a beacon device, etc.) is able to establish a location fix based on information obtained via a geospatial system. In a further aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations that further include determining whether information obtained via the geospatial system is accurate, collecting location information from a plurality of devices in the communication group response to determining that the information obtained via the geospatial system is not accurate, computing more precise location information (or a waypoint) based on the collected location information, the more precise location information including three-dimensional information, and using the computed more precise location information to provide the location based service.

In a further aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations that further include establishing a first connection to a data network, in which the first connection is not a cellular data uplink transmission path, obtaining location information for a current location of the first fixed wireless device via the first connection, determining a variance between the received location information and a locally determined location, determining whether the variance exceeds a threshold value, collecting additional location information from a plurality of transceivers in the communication group in response to determining that the variance exceeds the threshold value, computing more precise location information (or a waypoint) based on the location information collected from the plurality of transceivers, and using the more precise location information to provide the location based service.

In a further aspect, the stored processor-executable instructions may be configured to cause a processor to perform operations that further include collecting location information from a plurality of mobile devices in a communication group, computing more precise location information (or a waypoint) based on the location information collected from the plurality of mobile devices, and using the generated location and position information to provide the location based service, in which computing the more precise location information includes using horizontal data to determine a position relative to the Earth's surface, using vertical data to determine a height of the position relative to sea level, and generating three-dimensional information based on the determined position and the determined height.

Further aspects may include a computing device having a processor configured with processor-executable instructions to perform various operations corresponding to the methods discussed above.

Further aspects may include a computing device having various means for performing functions corresponding to the method operations discussed above.

Further aspects may include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform various operations corresponding to the method operations discussed above.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments of the invention, and, together with the general description given above and the detailed description below, serve to explain features of the invention.

FIG. 1 is a communication system block diagram illustrating network components of an example telecommunication system suitable for use in a mobile-device centric approach for determining the location of a mobile device in accordance with various embodiments.

FIG. 2 is a communication system block diagram illustrating network components of an example telecommunication system suitable for use in a network centric approach for determining the location of a mobile device in accordance with various embodiments.

FIG. 3 is an illustration of an example mobile device suitable for use in grouping with other mobile devices and computing precise location information in accordance with the various embodiments.

FIG. 4A is a communication system block diagram illustrating network components of an example LTE communication system suitable for use with various embodiments

FIG. 4B is a block diagram illustrating logical components, communication links and information flows in an embodiment communication system.

FIGS. 5A through 5C are component block diagrams illustrating functional components, communication links, and information flows in an embodiment method of grouping mobile devices and sharing location information between grouped mobile devices.

FIG. 5D is a process flow diagram illustrating an embodiment mobile device method for grouping mobile devices and sharing location information between grouped mobile devices and the network to compute enhanced location information.

FIGS. 6A through 6D are component block diagrams illustrating functional components, communication links, and information flows in an embodiment method for computing location information in which the grouped mobile devices are updated with their respective location information.

FIG. 6E is a process flow diagram illustrating an embodiment system method of determining the location of two or more grouped mobile devices.

FIG. 6F is a process flow diagram illustrating an embodiment mobile device method of adjusting the update intervals in response to detecting a low battery condition.

FIG. 7 is a component block diagram illustrating functional components, communication links, and information flows in an embodiment method of periodically scan for cells.

FIG. 8 is a process flow diagram illustrating an embodiment mobile device method for determining the location of a mobile device in a wireless network.

FIGS. 9A through 9E are component block diagrams illustrating various logical and functional components, information flows and data suitable for use in various embodiments.

FIG. 10 is a sequence diagram illustrating an embodiment hybrid lateration method by which mobile devices may gain access to the network.

FIG. 11 is a sequence diagram illustrating another embodiment hybrid lateration method in which a mobile device cannot locate a network due to coverage problems.

FIGS. 12A through 12C are component block diagrams illustrating functional components, communication links, and information flows in an embodiment method of transferring a connection from a local radio system to the small cell system.

FIGS. 13A through 13C are component block diagrams illustrating functional components, communication links, and information flows in an embodiment method of identifying and responding to a distressed mobile device.

FIG. 14 is a component block diagrams illustrating functional components, communication links, and information flows in an embodiment method of performing dead reckoning grouping mobile devices in an ad-hoc scheme.

FIG. 15 is an illustration of an enhanced antenna that may be used with various embodiments to further improve positional accuracy.

FIGS. 16A and 16B are sectional diagrams illustrating strips of antenna patches that may be used in various embodiments.

FIG. 17 is a circuit diagram of antenna system suitable for use with various embodiments.

FIG. 18 is an illustration of an embodiment antenna array retrofitted into an existing cellular wireless network in accordance with an embodiment.

FIGS. 19A and 19B are illustrations of various enhanced antenna configurations that may be used with the various embodiments to further improve positional accuracy.

FIG. 20 is a system block diagram illustrating that a wireless fixed infrastructure device may require information from four satellites (numbered satellites (1), (2), (3), and (4)) in order to obtain GPS location in some embodiments.

FIG. 21 is a system block diagram illustrating communication links between four satellites and two fixed infrastructure devices that may be configured to perform enhanced location based operations in accordance with some embodiments.

FIG. 22 is a system block diagram illustrating alternative communication links between four satellite and two fixed infrastructure devices configured to perform enhanced location based operations in accordance with other embodiments.

FIG. 23 is a system block diagram illustrating communications and communication links between four different fixed infrastructure devices that could be configured for performing enhanced location based operations in accordance with the various embodiments.

FIG. 24 is a system block diagram illustrating communications and communication links between a fixed infrastructure device and a mobile device configured to perform enhanced location based operations in accordance with the various embodiments.

FIG. 25 is a system block diagram illustrating communication links and information flows between a fixed infrastructure device and a plurality of mobile devices that could be configured to perform enhanced location based operations in accordance with the various embodiments.

FIG. 26 is a communication system block diagram illustrating communication links and information flows between a plurality of fixed infrastructure devices and a plurality of mobile devices that could be configured to perform enhanced location based operations in accordance with an embodiment.

FIG. 27 is a communication system block diagram illustrating communication links and information flows between a plurality of fixed infrastructure devices and a plurality of mobile devices that could be configured to perform enhanced location based operations in accordance with another embodiment.

FIG. 28 is a communication system block diagram illustrating communication links and information flows between a network location server, a plurality of fixed infrastructure devices and a plurality of mobile devices that could be configured to perform enhanced location based operations in accordance with an embodiment.

FIG. 29 is a process flow diagram illustrating a method of performing enhanced location based operations using fixed infrastructure devices in accordance with an embodiment.

FIG. 30 is a process flow diagram illustrating a method for performing enhanced location based operations using fixed infrastructure devices and sensor data in accordance with an embodiment.

FIG. 31 is a communication flow diagram illustrating a method of performing enhanced location based operations in accordance with an embodiment.

FIG. 32 is a process flow diagram illustrating a method of determining whether received inputs are sufficient for providing enhanced location based services (eLBS) in accordance with an embodiment.

FIG. 33 is a process flow diagram illustrating a method of relaying enhanced location based information and performing lateration operations in accordance with the various embodiments.

FIG. 34 is a process flow diagram illustrating a method of grouping fixed infrastructure devices and/or mobile devices to establish a location fix in accordance with the various embodiments.

FIG. 35 is a component block diagram of a client computing device suitable for use with various embodiments.

FIG. 36 is a component block diagram of a server computing device suitable for use with various embodiments.

DETAILED DESCRIPTION

The various embodiments described herein in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the invention or the claims.

The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.

The terms “mobile device,” “cellular telephone,” and “cell phone” are used interchangeably herein to refer, for example, to any one or all of cellular telephones, smartphones, personal data assistants (PDA's), laptop computers, tablet computers, ultrabooks, palm-top computers, wireless electronic mail receivers, multimedia Internet enabled cellular telephones, wireless gaming controllers, and similar personal electronic devices which include a programmable processor, a memory and circuitry for sending and/or receiving wireless communication signals. While the various embodiments are particularly useful in mobile devices, such as cellular telephones, which have limited battery life, the embodiments are generally useful in any computing device that may be used to wirelessly communicate information.

The terms “wireless network,” “network,” “cellular system,” “cell tower,” and “radio access point” may used generically and interchangeably to refer to any one of various wireless mobile systems. In an embodiment, wireless network may be a radio access point (e.g., a cell tower), which provides the radio link to the mobile device so that the mobile device can communicate with the core network.

The term “fixed wireless device” is used herein to refer to any wireless device, component, or system designed for use in a fixed location. Examples of fixed wireless devices may include wireless fixed infrastructure devices (FIDs), for example femtocells, small cells, WiFi access nodes, Bluetooth™ beacons, antennas attached to masts or buildings, fixed appliances, and other such devices.

Location information may include any one or more of latitude, longitude, altitude, velocity, GPS data, and/or GPS timing information for a device. Coordinates and measurements may be relative between the providing device and the receiving device, or they may be based upon a grid or other coordinate system. The devices may be a mobile device and/or a fixed infrastructure device.

The term enhanced location based services (eLBS) may include enhanced location based operations, and operations which improve upon the location based services (LBS) provided by generic network which include a two dimensional location. Generally, eLBS include a longitude, latitude, and altitude measurements. These may be expressed in various formats.

A number of different cellular and mobile communication services and standards are available or contemplated in the future, all of which may implement and benefit from the various embodiments. Such services and standards include, e.g., third generation partnership project (3GPP), long term evolution (LTE) systems, third generation wireless mobile communication technology (3G), fourth generation wireless mobile communication technology (4G), global system for mobile communications (GSM), universal mobile telecommunications system (UMTS), 3GSM, general packet radio service (GPRS), code division multiple access (CDMA) systems (e.g., cdmaOne, CDMA2000™), enhanced data rates for GSM evolution (EDGE), advanced mobile phone system (AMPS), digital AMPS (IS-136/TDMA), evolution-data optimized (EV-DO), digital enhanced cordless telecommunications (DECT), Worldwide Interoperability for Microwave Access (WiMAX), wireless local area network (WLAN), public switched telephone network (PSTN), Wi-Fi Protected Access I & II (WPA, WPA2), Bluetooth™®, integrated digital enhanced network (iden), and land mobile radio (LMR). Each of these technologies involves, for example, the transmission and reception of voice, data, signaling and/or content messages. It should be understood that any references to terminology and/or technical details related to an individual telecommunication standard or technology are for illustrative purposes only, and are not intended to limit the scope of the claims to a particular communication system or technology unless specifically recited in the claim language.

A number of different methods, technologies, solutions, and/or techniques (herein collectively “solutions”) are currently available for determining the location of mobile device, any or all of which may be implemented by, included in, and/or used by the various embodiments. Such solutions include, e.g., global positioning system (GPS) based solutions, assisted GPS (A-GPS) solutions, and cell-based positioning solutions such as cell of origin (COO), time of arrival (TOA), observed time difference of arrival (OTDOA), advanced forward link lateration (AFLT), and angle of arrival (AOA). In various embodiments, such solutions may implemented in conjunction with one or more wireless communication technologies and/or networks, including wireless wide area networks (WWANs), wireless local area networks (WLANs), wireless personal area networks (WPANs), and other similar networks or technologies. By way of example, a WWAN may be a Code Division Multiple Access (CDMA) network, a Frequency Division Multiple Access (FDMA) network, an OFDMA network, a 3GPP LTE network, a WiMAX (IEEE 802.16) network, and so on. A WPAN may be a Bluetooth™ network, an IEEE 802.15x network. A WLAN may be an IEEE 802.11x network, and so on. A CDMA network may implement one or more radio access technologies (RATs) such as CDMA2000, Wideband-CDMA (W-CDMA), and so on.

Various embodiments discussed herein may generate, compute, and/or make use of location information pertaining to one or more mobile devices. Such location information may be useful in providing and/or implementing a variety of location-based services, including emergency location services, commercial location services, internal location services, and lawful intercept location services. By way of example: emergency location services may include services relating to the provision of location and/or identification information to emergency service personal and/or emergency systems (e.g., to 911 system); commercial location services may include any general or value-added service (e.g., asset tracking services, navigation services, location-based advertising services); internal location services may include services pertaining to the management of the wireless service provider network (e.g., radio resource management services, message delivery services, paging services, call delivery services, services for providing position/location network enhancements); and lawful intercept location services may include any service that provides public safety and/or law enforcement agencies with identification and/or location information pertaining to a mobile device or a mobile device user. While the various embodiments are particularly useful in applications that fall within one or more of the categories/types of location based services discussed above, the embodiments are generally useful in any application or service that benefits from location information.

Modern mobile electronic devices (e.g., mobile phones) typically include one or more geospatial positioning systems/components for determining the geographic location of the mobile device. Location information obtained by these geospatial systems may be used by location-aware mobile software applications (e.g., Google® Maps, Yelp®, Twitter® Places, “Find my Friends” on Apple®) to provide users with information regarding the mobile device's physical location at a given point in time. In recent years, such location-based services and software applications have increased in popularity and now enable mobile device users to navigate cities, read reviews of nearby restaurants and services, track assets or friends, obtain location-based safety advice, and/or take advantage of many other location-based services on their mobile devices.

Consumers of modern mobile devices now demand more advanced, robust, and feature-rich location-based services than what is currently available on their mobile devices. However, despite many recent advances in mobile and wireless technologies, mobile devices remain lacking in their ability to provide users/consumers with location based services that are accurate or powerful enough to meet the demands of these consumers. For example, while existing location-aware mobile software applications (e.g., “Find my Friends” on Apple®, Google® Latitude) enable a mobile device user to view the approximate geographical position of other mobile devices on a two-dimensional map, they lack the capability to accurately, efficiently, and consistently pin point the precise location and/or position of the other mobile devices in all three dimensions and/or within a wireless communication network. The various embodiments overcome these and other limitations of existing solutions by collecting information from multiple mobile devices, generated more precise location information on or about one or more mobile devices, generating advanced three-dimensional location and position information on or about one or more mobile devices, and using the generated location information to provide mobile device users with more accurate, more powerful, and more reliable location based services.

One of the challenges associated with using geo-spatial positioning technology on a mobile device is that the mobile device's ability to acquire satellite signals and navigation data to calculate its geospatial location (called “performing a fix”) may be hindered when the mobile device is indoors, below grade, and/or when the satellites are obstructed (e.g., by tall buildings or trees). The presence of physical obstacles, such as metal beams or walls, may cause multipath interference and signal degradation of the wireless communication signals when the mobile device is indoors or in urban environments that include tall buildings or skyscrapers. In rural environments, the mobile device may not have sufficient access to satellite communications (e.g., to a global positioning system satellite) to effectively ascertain the mobile device's current location. These and other factors often cause existing geo-spatial technologies to function inaccurately and/or inconsistently on mobile devices, and hinder the mobile device user's ability to fully utilize location-aware mobile software applications and/or other location based services and applications on his/her mobile device.

Another problem with using existing geo-spatial positioning technologies is that position accuracy afforded by existing technologies may not be sufficient for use in emergency services due to the relatively high level of position accuracy required by these services.

The various embodiments include improved location determination solutions that determine the location of a mobile device at an improved level of location accuracy suitable for use in emergency location services, commercial location services, internal location services, and lawful intercept location services.

Generally, there are three basic approaches for determining the location of mobile devices in a communication network: a mobile-device centric approach, a network centric approach and a hybrid approach that may include aspects of both the mobile device centric approach and the network centric approach.

FIG. 1 illustrates an example communication system 100 suitable for implementing a mobile-device centric approach for determining the location of a mobile device 102 in accordance with various embodiments. The mobile device 102 may include a global positioning system (GPS) receiver in communication with multiple geo-spatial positioning and navigation satellites 110 and a base tower 104 of a communication network 106. The mobile device 102 may receive (e.g., via the GPS receiver) radio signals emitted by the satellites 110, measure the time required for the signals to reach the mobile device 102, and use lateration techniques to determine the geographical coordinates (e.g., latitude and longitude coordinates) of the mobile device 102. The mobile device 102 may send the geographical coordinates to the communication network 106 at various times and/or in response to various conditions or events, such as upon initial acquisition with the communication network 106, in response to network-based requests, and/or in response to third party requests.

In an embodiment, the communication network may be a cellular telephone network. A typical cellular telephone network includes a plurality of cellular base stations 104 coupled to a network operations center 108, which operates to connect voice and data calls between mobile devices 102 (e.g., mobile phones) and other network destinations, such as via telephone land lines (e.g., a POTS network, not shown) and/or the Internet 114. Communications between the mobile devices 102 and the cellular telephone network 106 may be accomplished via two-way wireless communication links, such as 4G, 3G, CDMA, TDMA, and other cellular telephone communication technologies. The network 106 may also include one or more servers 112 coupled to, or within the network operations center 108 that provide connections to the Internet 114.

In various embodiments, the mobile device 102 may be configured to communicate with a radio access node, which can include any wireless base station or radio access point such as LTE, CDMA2000/EVDO, WCDMA/HSPA, IS-136, GSM, WiMax, WiFi, AMPS, DECT, TD-SCDMA, or TD-CDMA and switch, Land Mobile Radio (LMR) interoperability equipment, a satellite Fixed Service Satellite (FSS) for remote interconnection to the Internet and PSTN.

FIG. 2 illustrates an example communication system 200 suitable for implementing a network centric approach for determining the location of a mobile device 102 in accordance with various embodiments. The mobile device 102 may include a circuitry for wirelessly sending and receiving radio signals. The communication system 200 may include a plurality of radio access points 204, 206. Each access point having installed thereon radio equipment 208 for measuring the location of the mobile devices in the communication system. For example, the mobile device 102 may transmit radio signals for reception by one or more (e.g., typically three) radio access points 204, and the radio access points may receive the transmitted signals and measure the signal strength and/or radio energy of the received signals to identify the location of the mobile device 102. Radio equipment 208 may be capabilities that are software or hardware enabled.

In an embodiment, the radio access points 204 may be configured to determine the location of the mobile device relative to a known location of a network component, such as the illustrated radio access point 206. In this manner, the radio equipment 208 installed on the radio access points 204, 206 provides the communication system 200 with similar functionality as is provided by a GPS receiver for signals received from the mobile device. For example, the radio equipment on one or more of the radio access points 204 may measure how long it takes for the radio signal to travel from the mobile device 102 to another radio access point 206, and using lateration techniques (e.g., time of arrival, angle of arrival, or a combination thereof), the mobile device 102 or a network server 210 may estimate the location of the mobile device 102 to within an accuracy of 100 to 300 meters. Once the network has estimated the latitude and longitude coordinates of the mobile device 102, this information can be used to determine the geo-spatial location of the mobile device 102, which may be communicated to other systems, servers or components via the Internet 114.

Various embodiments may implement and/or make use of a hybrid approach for determining the location of mobile devices in a communication network, which may include aspects of both the device-centric and the network-centric approaches discussed above with reference to FIGS. 1 and 2. For example, an embodiment may implement a hybrid approach in which the GPS capabilities of mobile devices, the measured signal strengths and/or radio energy of radio signals transmitted from the mobile devices, and known locations of network components may be used in combination to estimate the locations of one or more mobile devices in a network. In a further embodiment, the mobile devices and/or network components (e.g., severs, radio access points) may be configured to dynamically determine which factors (e.g., radio signal strength, GPS) to measure and/or use in determining the location of mobile devices.

FIG. 3 illustrates sample components of a mobile device in the form of a phone 102 that may be used with the various embodiments. The phone 102 may include a speaker 304, user input elements 306, microphones 308, an antenna 312 for sending and receiving electromagnetic radiation, an electronic display 314, a processor 324, a memory 326 and other well known components of modern electronic devices.

The phone 102 may also include one or more sensors 310 for monitoring physical conditions (e.g., location, motion, acceleration, orientation, altitude). The sensors may include any or all of a gyroscope, an accelerometer, a magnetometer, a magnetic compass, an altimeter, an odometer, and a pressure sensor. The sensors may also include various bio-sensors (e.g., heart rate monitor, body temperature sensor, carbon sensor, oxygen sensor) for collecting information pertaining to environment and/or user conditions. The sensors may also be external to the mobile device and paired or grouped to the mobile device via a wired or wireless connection (e.g., Bluetooth™®). In embodiment, the mobile device 102 may include two or more of the same type of sensor (e.g., two accelerometers).

The phone 102 may also include a GPS receiver 318 configured to receive GPS signals from GPS satellites to determine the geographic location of the phone 102. The phone 102 may also include circuitry 320 for transmitting wireless signals to radio access points and/or other network components. The phone 102 may further include other components/sensors 322 for determining the geographic position/location of the phone 102, such as components for determining the radio signal delays (e.g., with respect to cell-phone towers and/or cell sites), performing lateration and/or multilateration operations, identifying proximity to known networks (e.g., Bluetooth® networks, WLAN networks, WiFi, ANT+), and/or for implementing other known geographic location technologies.

The phone 102 may also include a system acquisition function configured to access and use information contained in a subscriber identity module (SIM), universal subscriber identity module (USIM), and/or preferred roaming list (PRL) to, for example, determine the order in which listed frequencies or channels will be attempted when the phone 102 is to acquire/connect to a wireless network or system. In various embodiments, the phone 102 may be configured to attempt to acquire network access (e.g., attempt to locate a channel or frequency with which it can access the wireless/communication network) at initial power-on and/or when a current channel or frequency is lost (which may occur for a variety of reasons).

The mobile device 102 may include pre-built in USIM, SIM, PRL or access point information. In an embodiment, the mobile device may be configured for first responders and/or public safety network by, for example, setting the incident radio system as the default and/or preferred communication system.

As mentioned above, despite recent advances in mobile and wireless communication technologies, determining the specific location of a mobile device in a wireless network remains a challenging task for a variety of reasons, including the variability of environmental conditions in which mobile devices are often used by consumers, deficiencies in existing technologies for computing and/or measuring location information on mobile devices, and the lack of uniform standards. For example, there is currently no universally accepted standard for implementing or providing location-based services. As a result, mobile device designers and wireless network operators, in conjunction with local public safety and third party providers, use a variety of inefficient, incoherent, and sometimes incompatible methods, technologies, solutions, and/or techniques to determine the location of a mobile device and/or to provide location based services.

While there are no universally accepted standards for implementing or providing location-based services, there are certain requirements or standards associated with determining the location of a mobile device that may be of use in various embodiments. The U.S. Congress has mandated that cellular service providers configure their networks, communication systems and/or mobile devices so that the locations of mobile devices can be determined when a 911 call is placed. To implement Congress's mandate, the Federal Communications Commission (FCC) requested cellular service providers upgrade their systems in two phases (herein “Phase I” and “Phase II” respectively). While the level of precision/accuracy provided by these Phase I and II upgrades are generally inadequate for providing effective location based services that meet the demands of modern users of mobile devices, these upgrades provide a foundation from which more effective location based solutions may be built.

As mentioned above, the FCC requested cellular service providers upgrade their systems in two phases. In the first phase (Phase I), cellular service providers were to upgrade their systems so that emergency calls (e.g., 911 calls) are routed to the public service answering point (PSAP) closest to the cell-tower antenna with which the mobile device is connected, and so that PSAP call-takers can view the phone number of the mobile device and the location of the connecting cell-tower. The location of the connecting cell-tower may be used to identify the general location of the mobile device within a 3-6 mile radius.

In the second phase (Phase II), cellular service providers were to upgrade their systems so that PSAP call-takers could identify the location of the mobile device to within 300 meters. To meet these Phase II requirements, wireless service providers have implemented a variety of technologies, and depending on the technology used, can generally identify the location of the mobile device to within 50-300 meters. For example, on systems that have implemented a network-based solution (e.g., triangulation of nearby cell towers), the location of a mobile device can be determined within an accuracy of 100 meters 67% of the time, and to within an accuracy of 300 meters 95% of the time. On systems that have adopted a mobile device-based solution (e.g., embedded global positioning system receivers), the location of the mobile device may be determined to within 50 meters 67% of the time, and to within 150 meters 95% of the time.

Existing phase I and II solutions, alone, are not adequate for generating location information having sufficient accuracy or detail for use in providing accurate and reliable location based services. Various embodiments may use some or all of the capabilities built into existing systems (e.g., as part of phase I and II upgrades, device-centric systems, network-centric systems), in conjunction with more advanced location determination techniques, to compute location information suitable for the advanced location based services demanded by consumers.

In addition to the three basic approaches discussed above, a number of different solutions are currently available for determining the location of mobile device, any or all of which may be implemented by and/or included in the various embodiments.

Most conventional location determination solutions use distance estimation techniques that are based on single-carrier signals. One of the fundamental operations in ground-based (or network-centric) location determination solutions is timing estimation of a first-arrival path of a signal. That is, a single-carrier signal transmitted between a transceiver and a mobile device can be received via multiple paths (e.g., multipath), and the multiple paths of the signal can have different received powers and arrival times. The received signal may be cross-correlated to distinguish the multiple paths of the received signal. In this method, it is generally assumed that the first-arrival path (e.g., first detected signal, strongest signal) is associated with the path traveling the shortest distance, and hence is the correct value to use in estimating distance between the mobile device and the transceiver. Often, the first-arrival path is the strongest path due to zero or fewer reflections, relative to the other paths, between the transceiver and the mobile device.

In various embodiments, the first-arrival time of the identified first-arrival path may be used in addition to other parameters (e.g., an estimated signal transmission time and/or a time offset between clocks of the transceiver and the mobile device) to estimate distance between a mobile device and a network component (e.g., another mobile device, a transceiver, an access point, a base station). The first-arrival time may be estimated by the mobile device (e.g., based on the downlink received signal) or by the network component (e.g., based on an uplink received signal).

The location of the mobile device may also be determined by estimating the distance between the mobile device and a network component or other signal sources (e.g., a transceiver, ground or satellite-based signal sources). For example, the location of the mobile device may be determined by performing lateration using estimated distances between multiple (e.g., three or more) transceivers and the mobile device.

Another location determination solution may include computing an observed time difference of arrival (OTDOA) value by measuring the timing of signals received from three network components (e.g., mobile devices, transceivers, access points). For example, a mobile device may be configured to compute two hyperbolas based on a time difference of arrival between a reference transceiver signal and signals of two neighbor transceivers. The intersection of the computed hyperbolas may define a position on the surface of the earth that may be used by various embodiments to determine the location of the mobile device.

The accuracy of such OTDOA solutions may be a function of the resolution of the time difference measurements and the geometry of the neighboring transceivers. As such, implementing an OTDOA solution may require determining the precise timing relationship between the neighboring transceivers. However, in existing asynchronous networks, this precise timing relationship may be difficult to ascertain.

In various embodiments, location measurement units (LMUs) may be added throughout a deployment region of an asynchronous network to measure/compute timing information for one or more network components (e.g., transceivers) relative to a high quality timing reference signal. For example, a mobile device or an LMU may determine the observed time difference between frame timing of transceiver signals, and the observed time difference may be sent to the transceiver or a radio network controller of the communication network to determine the location of the mobile device. The location of the mobile device may also be determined based on the observed time difference and assistance data (e.g., position of the reference and neighbor transceivers) received from the communication network.

Another location determination solution may include computing an uplink-time difference of arrival (U-TDOA) based on network measurements of the time of arrival of a known signal sent from the device and received at multiple (e.g., four or more) LMUs. For example, LMUs may be in the geographic vicinity of the mobile device to accurately measure the time of arrival of known signal bursts, and the location of the mobile device may be determined using hyperbolic lateration based on the known geographical coordinates of the LMUs and the measured time-of-arrival values.

As discussed above, conventional location determination solutions are typically based on single-carrier signals. The various embodiments include a ground-based location determination solution based on multi-carrier signals. A location determination solution based on multi-carrier signals may improve the accuracy of the computed location information by, for example, improving the accuracy of the timing estimation (e.g., by expanding the bandwidth of cellular signals). Location determination solutions based on multiple carriers may be used in both the device-centric (e.g., mobile device-based) and network-centric (e.g., base station-based) approaches, and may be applied to both 3GPP and 3GPP2 wireless communication technologies.

In various embodiments, a mobile device may be configured to determine its geospatial location based on information collected from mobile device sensors (e.g. gyroscope, accelerometer, magnetometer, pressure sensor), information received from other mobile devices, and information received from network components in a communication system.

FIG. 4A illustrates an example communication system within which the various embodiments may be implemented. Generally, the mobile device 102 may be configured to send and receive communication signals to and from a network 406, and ultimately the Internet 114, using a variety of communication systems/technologies (e.g., GPRS, UMTS, LTE, cdmaOne, CDMA2000™). In the example illustrated in FIG. 4, long term evolution (LTE) data transmitted from the wireless device 102 is received by a eNodeB (eNB) 404 and sent to a serving gateway (S-GW) 408 located within the core network 406. The mobile device 102 or serving gateway 408 may also send signaling (control plane) information (e.g., information pertaining to security, authentication) to a mobility management entity (MME) 410.

The MME 410 may request user and subscription information from a home subscriber server (HSS) 412, perform various administrative tasks (e.g., user authentication, enforcement of roaming restrictions), and send various user and control information to the S-GW 408. The S-GW 408 may receive and store the information sent by the MME 410 (e.g., parameters of the IP bearer service, network internal routing information), generate data packets, and forward the data packets to a packet data network gateway (P-GW) 416. The P-GW 416 may process and forward the packets to a policy and control enforcement function (PCEF) 414 which receives the packets and requests charging/control policies for the connection from a policy and charging rules function (PCRF) 415. The PCRF 415 may provide the PCEF 414 with policy rules that it enforces to control the bandwidth, the quality of service (QoS), and the characteristics of the data and services being communicated between the network (e.g., Internet, service network) and the mobile device 102. In an embodiment, the PCEF 414 may be a part of, or perform operations typically associated with, the P-GW 416. Detailed information about policy and charging enforcement function operations may be found in “3rd Generation Partnership Project Technical Specification Group Services and System Aspects, Policy and Charging Control Architecture,” TS 23.203, the entire contents of which are incorporated herein by reference.

In various embodiments, the network 406 may also include an Evolved Serving Mobile Location Center (E-SMLC) 418. Generally, the E-SMLC 418 collects and maintains tracking information about the mobile device 102. The E-SMLC 418 may be configured to provide location services via a lightweight presentation protocol (LPP), which supports the provision of application services on top of TCP/IP networks. The E-SMLC 418 may send or receive (e.g., via LPP) almanac and/or assistance data to and from the MME 410 and/or eNodeB 404. The E-SMLC 418 may also forward external or network initiated location service requests to the MME 410.

In addition, the mobile device 102 may receive information from the serving eNodeB 404 via System Information Blocks that includes the neighbor cells to scan that are on the same system using the same frequencies or different frequencies, Home eNB (HeNB), in addition to CDMA, GERAN, and UTRA cells.

FIG. 4B illustrates logical components, communication links, and information flows in an embodiment communication system 450 suitable for use in determining the location of the mobile device. The communication system 450 may include a network location based system 452, a core network 454, and a radio access network 456. The communication system 450 may also include an application module 458, a position calculation module 460, a wireless grouping module 462, and a sensor data module 464, any or all of which may be included in a mobile device 102. The application module 458 (e.g., client software) may request and receive location information from the network location based system 452 (e.g., through the core network 454 and the radio access network 456). Likewise, the network location based system 452 (or another client attached to, or within, the core network 454) may request and receive location information from the application module 458.

In various embodiments, the mobile device 102 may be configured to determine its geospatial location based on information collected from mobile device sensors (e.g. gyroscope, accelerometer, magnetometer, pressure sensor), information received from other mobile devices, and information received from network components in a communication system. In an embodiment, the collection and reporting of sensor information may be controlled/performed by the sensor data module 464. For example, the application module 458 may retrieve/receive sensor information from the sensor data module 464. Application module 458 may send the sensor information to the position calculation module 460 to compute the location of the mobile device locally for position updates and/or position augmentation. The application module 458 may also send the computed location information to the network location based system 452 and or other mobile devices.

In various embodiments, the mobile device 102 may be configured to determine its geospatial location based on information collected from other mobile devices. In these embodiments, two or more mobile devices may be organized into groups. Each mobile device may also share its location information with the other mobile devices with which the mobile device is grouped. For example, mobile devices may be configured to share their current location information (e.g., latitude, longitude, altitude, velocity, GPS data and/or GPS timing information). A mobile device may also share an estimate of a distance between itself and a target mobile device or other transmitter or transceiver with other mobile devices in their group.

In an embodiment, the grouping of mobile devices may be controlled by the wireless grouping module 462. For example, the application module 458 may retrieve wireless group information (e.g., information pertaining to the locations of other mobile devices) from the wireless grouping module 462. The application module 458 may send the group information to the position calculation module 460 to perform local calculations for position updates and/or position augmentation. In an embodiment, the position calculation module 460 may perform the local calculations based on both sensor information received from the sensor data module 464 and group information received from the wireless grouping module 462.

In an embodiment, the mobile device 102 may be configured to automatically share its location information with other mobile devices upon discovery of the other mobile devices. Mobile devices may augment their location information (e.g., position coordinates) with information received from other mobile devices within same geographic area, and in a controlled pseudo ad-hoc environment. Since the shared location information (e.g., latitude, longitude, altitude, velocity, vector, GPS information, bearing, and GPS timing) involves a relatively small amount of data, in an embodiment the mobile devices may receive such information from a network server by in-band and or out-of-band signaling.

When implemented in a 3GPP-LTE network, the various embodiments may include an E-SMLC 418 component configured to send and receive location information (e.g., latitude, longitude, altitude, velocity, GPS data, GPS timing) to and from the mobile devices, which may be achieved both on-net and off-net. The location information may be delivered in standard formats, such as those for cell-based or geographical coordinates, together with the estimated errors (uncertainty) of the location, position, altitude, and velocity of a mobile device and, if available, the positioning method (or the list of the methods) used to obtain the position estimate

To aid in the determination of the locations of mobile devices, 3GPP-LTE networks have standardized several reference signals. Various embodiments may use these reference signals for timing based location and positioning solutions. Such reference signals may include the primary and secondary synchronization signals and the cell specific reference signals.

Two or more mobile devices may be organized into groups. Mobile devices within the same group may be part of the same network, or may be associated with different networks and/or network technologies. The mobile devices within the same group may also operate on different network operating systems (NOSs) and/or radio access networks (RANs).

FIGS. 5A-5C illustrate functional components, communication links, and information flows in an embodiment method of grouping mobile devices and sharing location information between grouped mobile devices. With reference to FIG. 5A, a mobile device 102 may scan for predefined and/or preferred radio frequency carriers and/or systems which the mobile device 102 may connect to the network. If the mobile device 102 does not find an appropriate network with which it may connect (or loses its connection) the mobile device 102 may scan the airwaves for other radio access systems (e.g., mobile network, radio access point associated with a mobile device) to acquire (e.g., connect to) until a connection to a network/Internet 510 is established. These operations may also be performed in the event of a dropped call or power interruption.

The mobile device 102 may also begin acquiring GPS signals while scanning the airwaves for radio frequency carriers and/or systems. If the mobile device 102 cannot acquire GPS signals, a network component (not illustrated) may help determine the relative position of the mobile device 102 based on one or more of the location determination solutions discussed herein (e.g., based on the antenna used for the radio access point, the time delay, angle of arrival).

The mobile device 102 may acquire (e.g., connect to) an appropriate radio access system, radio frequency carrier, and/or system via the mobile device's system acquisition system. In the examples illustrated in FIGS. 5A-5C, the mobile device 102 establishes a connection to a network 510 via an eNodeB 404. However, it should be understood that any or all of the communication technologies discussed above are contemplated and within the scope of the various embodiments.

After the mobile device 102 acquires the radio access system, the network 510 (e.g., a component in the network such as a server) may determine the approximate location of the mobile device 102 (e.g., via one or more of the location determination solutions discussed above, such as proximity to base towers). In addition, the mobile device 102 may compute its current location (e.g., via GPS and/or the location determination solutions discussed above), store the computations in a memory of the mobile device, and report its current location to the network 510.

In addition to knowing the approximate location of the mobile device 102, the network 510 may also be informed of the locations of other mobile devices 502 and the relative positions/proximity of the other mobile devices 502 to the recently acquired mobile device 102.

FIG. 5B illustrates that the network 510 may send instructions/commands to the mobile devices 102, 502 to cause the mobile devices 102, 502 to group with mobile devices 102, 502 and possibly others. In an embodiment, the network 510 may be configured to automatically group the mobile devices 102, 502 based on the proximity of the mobile devices 102, 502 with respect to one another. In an embodiment, the network 510 may be configured to allow an incident command system (ICS) commander to group the devices. In an embodiment, the network 510 may be configured to allow the mobile devices numbers to form groups based on their proximity to one another.

FIG. 5C illustrates that the mobile device 102 may group with another mobile device 502 and/or establish communication links so that the mobile devices 102, 502 may share real-time relative location information with each other. Two or more grouped mobile devices 102, 502 may identify their relative positions to each other by sending relative location information over the established communication links. The relative location information may include time-to-arrival, angle-of-arrival, and existing or self-aware location information.

The mobile devices 102, 502 may be configured report sensor information to each other and/or the network 510. The sensor information may include X, Y, and Z coordinate information and velocity information. The sensor information may be polled on a continuous basis, may be requested periodically, and/or made available on demand in response to network/system requests.

In various embodiments, the mobile devices 102, 502 may be configured to report sensor information in response to determining that there is a high likelihood that there has been change in a location of the mobile device 102, 502 (e.g., in response to detecting motion). The mobile devices 102, 502 may also be configured collect and report sensor information to the network 510 in response to receiving an instruction/command from the network 510 (e.g., a component in the network such as a server or E-SLMC 418 illustrated in FIG. 4). The network 510 (e.g., from a component in the network) may be configured to receive the sensor and location information from the mobile devices 102, 502 and compute and store information about the distances (e.g., in time delay and angle of arrival with respect to the mobile devices 102, 502).

In an embodiment, the reporting of sensor information may be based on local parameter settings. For example, the mobile devices 102, 502 may be configured to transmit sensor information when any of the measured parameters (e.g., X, Y, Z and velocity information) meet or exceed a threshold value (e.g., exceed a rate-of-change, meet a timeout limit), which may be identified by local parameter settings stored in a memory of the mobile devices 102, 502. In an embodiment, the mobile devices 102, 502 may be configured to re-compute and/or update their location information in response to determining that any of the measured parameters (e.g., X, Y, and Z coordinates, and velocity information) meet or exceed a threshold value.

In an embodiment, a mobile device 102 and/or the network 510 (e.g., a component in the network) may be configured to compare collected sensor information to computed latitude and longitude coordinates, relative altitude information, and other available information to determine if there is a discrepancy between the collected/measured values and the expected values. When it is determined that a discrepancy may exist between the expected and measured values, the mobile device 102 and/or network 510 may perform additional measurements to improve the location accuracy of the measurements/location information.

FIG. 5D illustrates an embodiment mobile device method 550 for grouping mobile devices and sharing location information between grouped mobile devices and a network to compute enhanced location information. In block 552, a mobile device may scan the airwaves for predefined and/or preferred radio frequency carriers and/or systems with which the mobile device may connect. This may be done at power on, if a connection is lost, and at various time during normal operations of the mobile device. In block 554, the mobile device may begin acquiring GPS signals while scanning the airwaves for radio frequency carriers and/or systems. In various embodiments, block 554 may begin or run concurrent to the operations of block 552. If the mobile device cannot acquire GPS signals, the mobile device or a network component may, as part of block 554, determine the relative position of the mobile device based on one or more of the location determination solutions discussed herein. In block 556, the mobile device may acquire (e.g., connect to) an appropriate radio access system, radio frequency carrier, system and/or network.

In block 558, the mobile device may compute its current location (e.g., via GPS and/or the location determination solutions discussed herein). The mobile device may store the computations in a memory, and may report its current location to the network. In block 560, the mobile device may group with other mobile devices in response to receiving instructions/commands from a network component and/or in response to detecting that the other mobile devices are within a predefined proximity to the mobile device (e.g., within a threshold distance). In block 562, the mobile device may share its current location information, as well as information collected from sensors, with the grouped mobile devices. In block 564, the mobile device may receive location and/or sensor information from the grouped mobile devices. The sensor information may include X, Y, and Z coordinate information and/or velocity information.

In block 566, the mobile device may identify the relative positions of the other mobile devices, which may be achieve by evaluating location and sensor information received from the other mobile devices and/or via any or all of the location determination solutions discussed herein. In block 568, the mobile device may send the relative location information, its current location information, and/or sensor information to a network component and/or the other mobile devices, which may receive the sensor and location information and compute updated location information (e.g., based on distance in time delay, angle of arrival, relative location, and/or altitude information). In block 570, the mobile device may receive updated location information from the network component and/or the other grouped mobile devices. In block 572, the mobile device may update its current location calculation and/or information based on the information received from the network component and/or the other grouped mobile devices. The operations of blocks 562-572 may be repeated until the desired level of precision is achieved for the location information.

FIGS. 6A-6D illustrate functional components, communication links, and information flows in an embodiment method for computing location information in which the grouped mobile devices 102, 502 are updated with their respective location information.

FIG. 6A illustrates that the mobile device 102 may communicate with a serving eNodeB 404 to relay its location information to the network 510 and/or to receive location information from the network 510.

FIG. 6B illustrates that another mobile device 502 may also communicate with the serving eNodeB 404 to relay its location information to the network 510 and/or to receive location information from the network 510.

FIG. 6C illustrates that the grouped mobile devices 102, 502 may communicate with each other to determine the distance between each other. This may be achieved by the mobile devices 102, 502 communicating various types of information, such as time-of-arrival, relative position with angle-of-arrival measurements, and other similar values, measurements, or computations. The mobile devices 102, 502 may then re-compute, refine, and/or update their current location calculations and/or location information based on information received from the other mobile devices 102, 502.

FIG. 6D illustrates that the grouped mobile devices 102 and 502 may send their self-aware location information and/or relative location information to the network 510 (via the serving eNodeB 404), and receive updated location information from the network 510. For example, the mobile devices 102, 502 may send their present location coordinates, distances between mobile devices (e.g., distance to each other), altitude, and bearings (e.g., where mobile device 102 is with respect to mobile device 502) to the network 220. The network may compute updated location information based on the received information (e.g., coordinates, sensor information, proximity information), and send the updated location information to the mobile devices 102, 502. The network may store the data and/or computed updated location information. The mobile devices 102, 502 may then re-compute, refine, and/or update their current location calculations and/or location information based on information received from the network.

The operations discussed above with respect to FIGS. 6A-6D may be repeated so that the mobile devices 102, 502 recursively, continuously, and/or periodically re-compute, refine, and/or update their current location calculations and/or location information based on updated information received from the other mobile devices and/or the network 510 until the desired level of precision is achieved for the location information.

FIG. 6E illustrates an embodiment system method 650 of determining the location of two or more grouped mobile devices. In block 652, a first mobile device may send and/or receive current location information to and from a network component. In block 654, a second mobile device may send and/or receive current location information to and/or from the network component. In block 656, the first and second mobile devices may communicate with each other to determine the relative distances between each other, which may be achieved by communicating various types of information, including time-of-arrival, relative position with angle-of-arrival measurements, velocity, altitude, etc.

In block 658, the first and/or second mobile devices may re-compute, refine, and/or update their current location calculations and/or location information based on information received from the other mobile devices and/or the network. In block 660, the first and/or second mobile devices may send their updated current location calculations and/or location information to the network component, which may receive the calculations/information and compute updated location information (e.g., based on distance in time delay and angle of arrival, relative altitude information). In block 662, the first and/or second mobile devices may receive updated location information from the network. The operations in blocks 658-662 may be repeated until the desired level of precision is achieved for the location information.

It should be understood that the methods and operations discussed above with reference to FIGS. 5A-5D and 6A-6F may also be performed such that they include more than two devices. The specific number of devices may generally be a design choice. However, in various embodiments the number of devices may have function significance. For example, in an embodiment, the mobile devices may be grouped into units of four (4) such that each mobile device may triangulate its position relative to three other mobile devices in the same group.

In an embodiment, a mobile device 102 and/or a network component may store relative location information for all the mobile devices within each group, based on the type of grouping. For example, a network component may store relative location information for all the mobile devices grouped by an incident command system (ICS) commander. Likewise, the network component may store relative location information for all the mobile devices grouped based on criteria such as, proximity to each another, type of service the mobile devices are to receive, and/or the cell/tower(s) the mobile devices are connected to.

In an embodiment, the mobile device 102 may be configured to detect a low battery condition, and initiate operations to conserve battery. For example, a mobile device 102 may be configured to turn off its radio, limit processes to be run, and/or terminate or reduce its participation in the group information exchange. As another example, a mobile device 102 may be flagged or identified as having a low battery condition, and the other grouped mobiles devices may be informed of the low battery situation so that update intervals may be adjusted to reduce battery consumption.

FIG. 6F illustrates an embodiment method 670 of adjusting the update intervals in a mobile device in response to detecting a low battery condition. In block 672, the mobile device may detect/determine that the amount of power remaining in the mobile device battery is below a predetermined threshold. In block 674, the mobile device may transmit a signal or otherwise inform grouped mobile devices of the detected low battery condition. In block 676, may initiate operations to converse power, such as by turn off its radio and/or reducing its participation in exchanging information with grouped mobile devices. In block 678, the mobile device and/or the informed grouped mobile devices may adjust the update intervals with respect to the mobile device to reduce the load on the mobile device.

Grouped mobile devices may share various types of information to improve the accuracy of the location determination calculations. For information shared between grouped mobile devices, a comparison may be made for the path, range, between the mobile devices using any or all of the information available to the mobile devices (e.g., location coordinates, sensor information, proximity information). If the two mobile devices report relative location information that is within a user or network defined range tolerance as being acceptable this information may be forwarded to the network. If the relative positional information is not within the defined range tolerance, additional polling operations may be performed to improve the accuracy of the measurements or location information. The above-mentioned operations may be repeated until the desired level of accuracy is achieved. In an embodiment, the number of times the above-mentioned operations are repeated may be determined based on a definable values which can be set by the network, user, or algorithm used.

A mobile device 102 may include two or more of the same type of sensor. In various embodiments where the mobile device 102 includes more than one of the same type of sensor (e.g., includes two accelerometers), one of the sensors (e.g., one of the two accelerometers) may be identified as a master sensor. The values measures by each sensor may be compared, and if the difference between values falls within a tolerance range, the values measured by the master sensor may be used to compute the sensor's measured parameters (e.g., X, Y, Z, and velocity parameters, acceleration, temperature). If the difference between the values falls outside a tolerance range, the mobile device may use information collected from other sensors (of the same or different types) to determine if the values measured by the master sensor, or secondary sensor, are consistent with expected values. For example, the mobile device may use information collected from various other types of sensors to compute the sensor's measured parameters and compare the computed sensor's measured parameters to a similar sensor's measured parameter(s) computed based on the values measured by the master sensor to determine if the master sensor is functioning correctly. Values measured on the master sensor may also be compared to information stored on the mobile device, the network, or other mobile devices to determine if the master sensor is functioning correctly. If it is determined that the master sensor is not functioning correctly, a secondary sensor may be designated as the master sensor. The previous master sensor may be demoted to standby status (e.g., for use if the primary sensor has a failure) and not used for immediate positional calculations.

As mobile devices move into or out of an area, the mobile devices may be asked to group with more devices. The number of devices that a mobile device can group with may be restricted by user or network configurations.

In an embodiment, proximity grouping may be used in the X, Y, and Z coordinates/fields and/or for velocity information.

In the event that a mobile device is unable to group with a specified mobile device as instructed, the mobile device may group with another mobile device in an ad-hoc fashion. If no mobile device is pairable with the mobile device, it may rely on its own geographic and/or and sensor information to report to the network. This may include conducting dead reckoning operations based on the last set of location information.

In various embodiments, if a mobile device 102 is not detected as being within a given proximity of a grouping radius, other mobile devices in the same group as the mobile device 102 may be informed of the decision to degroup them from the mobile device 102. In various embodiments, the system may be configured so that an approval from the incident commander or user may be required before the mobile is degrouped. In various embodiments, this may be achieved may transmitting a signal to a mobile device of the incident commander or user requesting approval, to which the incident commander or user may send a reply approving or disapproving of the request to degroup. In an embodiment, the degrouping process may be transparent to the mobile device users. A notice may be sent to some or all grouped member devices that the device is no longer detected or has been removed from the group.

In the event that a mobile device is unable to communicate with the network, the mobile device may send telemetry information pertaining to location services (and other telemetry information) to a grouped mobile device for relaying to the network.

In an embodiment, polling for information may be performed if the network has lost communication with a mobile device. Mobile devices that were grouped with the missing mobile device in a geographic area near the last known location of the missing mobile device may be instructed to connect/communicate with the disconnected mobile. This may be done even when the mobile device is trying to reacquire the network. A logical sequence based on proximity, signal quality to the network, and/or battery strength may be used to determine which mobile device(s) may be used as a relay for communicating with the network.

The relayed telemetry and location information may include more than just positional information. For example, the relayed information may also include bio sensor and user bio information reporting on the environment and user conditions, including heart rate, and/or temperature, CO, O₂ and other sensor information.

In an embodiment, the network may continuously measure/monitor the connected mobile devices. Knowing the location and/or relative locations to each of the other mobile devices enables the network to continuously measure the uplink and downlink communication paths. If communication path degradation occurs, a defined system quality range (which may be user defined), a mobile device may be instructed to either handover to another radio access node for the same network and/or network technology, connect to a different network, be instructed to perform relay operations to relay communications though other mobile device(s) or means as a secondary signal path.

In the event a mobile device loses a communication link with the network, the mobile device may attempt to acquire a link through another network. While the acquisition process is underway, a mobile device may act as a mesh device. Other mobile devices in the proximity group may also connect as a mesh network. A mesh network herein being a network established by the mobile devices or an entity other than a cellular telephone network provider network.

In an embodiment, a mobile device may utilize dead reckoning (also called deducted reckoning) techniques to compute updated location information. This may be done with or without a network connection. A mobile device may store the updated information for eventual relay to another mobile device which has network access or until the mobile device or establishes a connection to the initial network or another network and granted access to whether it is public or a private network.

FIG. 7 illustrates an embodiment where under normal operating conditions, a mobile device 102 may periodically scan for other cells 704, including its serving cell 702. If the radio access points are part of the network to which the mobile device 102 is connected to, then the mobile device may report the identity and signaling information required by the existing network to determine (e.g., via triangulating and/or lateration) the mobile device's location based on a network approach. If the mobile device detects a radio access point that is not part of its preferred cell selection process, it may attempt to read the coordinates and positional information broadcast by the access point.

Once the mobile device synchronizes with an access point, the mobile device may determine the timing difference and other requisite information to help determine its relative location and distance from other devices and access points. This information may be used in conjunction to the location system used by the mobile device to help refine its current location calculations.

Additionally the mobile device may be configured to compare each cell read to the mobile device's own location using bearing and time difference for all the cells it reads. The mobile device may then triangulate on its own position.

In various embodiments, a software application on the distressed mobile device may be executed during a 911 call. The software application may access an active neighbor list, read the overhead of each cell, and use that information to determine the mobile device's own position. The mobile device may also read the time offset for each of the cells.

The system may begin trying to locate the distressed mobile's position with more precision and accuracy to assist First Responders with locating the distressed mobile's position. The location information may be sent to the incident commander and/or public service answering point (PSAP) with a relative distance to target indication that may be updated on periodically. If the mobile device has lost contact with the 911 center, PSAP then the last location may be continuously displayed and any velocity information may also be relayed to assist the first responders.

In an various embodiments, such as in an emergency, the mobile device 102 may be configured to send its location information to the network. The mobile device 102 may be configured to automatically send its location information in response to detecting an emergency, or may provide the user with an option to send the location information. In various embodiments, the mobile device may be configured to send its location information in response to a network initiated command.

Each mobile device may become an access point (AP). The decision to be an access point may be periodically updated while still in communication with the network, or when no network is detected. Upon powering up, each mobile device may act as a client, and on a pseudo random time interval, the mobile devices may become an access point and then a client.

In various embodiments, the location based methodology may be the same for a frequency-division duplexing (FDD) and a time-division duplexing (TDD) systems. However, in the event that the communication link between the mobile device and the network is lost, the mobile device may be configured to relay its information through another mobile device having network access.

In an embodiment, all information sent via wireless communication links may be digital. In an embodiment, the information may be encrypted to a requisite advanced encryption standard (AES) standards level or the appropriate encryption level needed for the requisite communication system and access method used. Certain information may also be transmitted unencrypted in various embodiments.

Generally, the location based systems may utilize reactive or proactive based methods. In a reactive location based system, the mobile devices may synchronously interact with each other on a time basis or some other predetermined update method. In a proactive location based system, the mobile devices may update their location information based on a set of predetermined event conditions and/or using algorithms. The various embodiments may include both reactive and proactive aspects, taking the relative advantageous features of both approaches to enhance location accuracy and precision.

Various embodiments may include location determination solutions that utilize horizontal data (e.g., a set of reference points on the Earth's surface against which position measurements are made) and/or vertical data. Horizontal data define the origin and orientation of the coordinate system and may be prerequisites for referring a position relative to the Earth's surface. Vertical data may be based on geoids, which primarily serves as a basis to determine the height of a position relative to mean sea level for which the geoids act as a benchmark for origin and orientation. Various embodiments may utilize horizontal and vertical data to provide/generate enhanced three dimensional location information. The horizontal and vertical data can be global, national, local, or custom depending on the locality and positioning reference system utilized.

Traditionally global data are used for location as compared to a local data. Global data may be used for initial position fixing if possible and are based on GPS coordinates. Local data may be based on a particular position on the surface of the earth, which allows for a non GPS based location based services to take place. The various embodiments may use global data, local data, or both. In various embodiment, GPS may be used to help identify the initial positional fix, and may be augmented by dead reckoning and/or a hybrid lateration solution that utilizes both network and terminal based positioning.

Generally, a hybrid lateration solution may include a mobile device performing a measurement and sending it to the network, and a network component performing the location determination calculations. The various embodiments may include a hybrid lateration solution in which the mobile device performs the location determination calculations, with or without the support of network components.

Various embodiments may include sensor fusion operations in which a collaborative approach may be used such that the sensors act collectively. The mobile device may include various sensors (e.g., accelerometer, gyros, magnetic compass, altimeters, odometers) capable of generating heading, orientation, distance traveled, and velocity as part of the sensor information collected on the mobile device. In various embodiments, information collected from any or all of the internal sensors may be used for improving location or positioning accuracy and/or confidence values. Various embodiments may compute location information based on information from multiple sensors, with or without the aid of radio frequency propagation information.

The sensor fusion operations may include the sharing of telemetry including sensor data indicating relative movement of the individual mobile device, which enables temporal readings to assist in the location estimate, either with external assistance or dead reckoning.

FIG. 8 illustrates an embodiment of method 800 for determining the location of a mobile device in a wireless network. In block 802, a mobile device may determine its current location using any location determination solutions described herein. In block 804, the mobile device may share its location information with other grouped mobile devices and/or receive location information from other grouped mobile devices. In block 806, the mobile device may compute and send updated distance vector and sensor information to a network component for improved positional fix. In block 808, the mobile device may receive updated location information from the network component, and perform its own positional fix based on mobile data information received from the network. In block 810, the mobile device may update its location information and/or confirm its location information using dead reckoning to enhance positional accuracy.

Dead reckoning may provide location corrections as local data methods for positioning when GPS or network related location solutions are not available. Additionally, dead reckoning may enhance the location position accuracy and precision calculations by providing additional horizontal and vertical data comparisons.

With dead reckoning, the current position may be extrapolated from the last known position. Dead reckoning accuracy requires a known starting point which either can be provided by the network, GPS, near field communication link, RF beacon, via another mobile device(s) or any other method of location determination.

A dead reckoning system may be dependent upon the accuracy of measured distance, heading, and origin. However, relying on dead reckoning alone to assist in locational improvements generally introduces error accumulation caused by sensor drift (e.g., differences or errors in values computed/collected from one or more sensors). In particular, magnetic sensors, accelerometers, and gyroscopes are susceptible to sensor drift. The error accumulation for any of the sensors may increase over undulating terrain, as compared to flat terrain. Bias error and step size error often are leading contributors to dead reckoning errors.

Various embodiments may couple the mobile device sensors and continuously recalibrate the sensors to reduce any drift errors that may be caused by unaided dead reckoning. Additionally, as part of the coupling of the sensors, any bias drift associated with the sensors may be address by utilizing a Kalman filter to reduce the errors from the primary and/or secondary sensors.

In various embodiments, the mobile device may be configured to include velocity computations as part of the location determination computations to account for position changes. When a GPS signal is available, the step size (via velocity computation) and compass bias errors may be estimated by an Enhanced Kalman Filter (EKF). Additionally if GPS is available, the compass may also be able to identify slow motion changes due to changes in magnetic inclination. The compass may be relied upon for motion computations in addition to that of accelerometers and gyroscopes, with and without the availability of GPS.

Dead reckoning accuracy may degrade with time, and may require regular location updates or location corrections. Therefore, the mobile device may be configured to not only use its own internal sensors to compute the locational information, but may also communicate with other mobile devices to leverage their locational information to enhance its own locational information. In essence, the mobile devices may act as RF base stations, providing the lateration capability to improve the positional accuracy of other mobile devices.

In an embodiment, a mobile device may be configured to poll one or more other mobile devices to improve its own location fix.

Mobile devices may be grouped together, either through assignment by the network or through the mobile device acquiring/detecting/connecting to other mobile devices (which may or may not be in the same network) as part of a discovery method for sharing location information.

Location information may be shared via the use of a near field communication systems (e.g., Bluetooth™®, ultrawideband, peanut radios), infrared, ultrasonic, and other similar technologies, such as via the use of WiFi. The wireless communications may also be ad hoc or infrastructure based, or based on a TDD system, such as LTE, SD-CDMA, TD-CDMA, or any other TDD methods.

In an embodiment, the mobile device may be configured to initiate the sharing of location information in response to receiving a network-driven grouping request from a network component.

In an embodiment, when the mobile device has lost contact with the network, it may attempt to find a suitable mobile device to help in its location determination computations, and for possible connection to the network (e.g., via a relay).

In an embodiment, the mobile device may be configured to send a request for location information to another mobile device(s). The request may be sent after the authentication process between mobile devices, and may include a time stamp which may be sub-seconds in size (milliseconds). Another mobile device may respond with a message that also has its time stamp and when it received the time stamped message from the initiating mobile device.

Several messages (e.g., three messages) may be exchanged quickly between the mobile devices to establish time synchronization and share location information that may include X, Y, and Z coordinates, a velocity component and a vector in each message. The time differences along with the X, Y, and Z coordinates may be compared with possible pulses or pings to establish an estimated distance vector between the devices.

When the distance vector and the X, Y, Z coordinates of two mobile devices are known, a point-to-point fix may be established. This process may be repeated for some or all the mobile devices in a group that have been assigned or created by the mobile device itself. Having multiple distance vectors from other points to the mobile will enhance the positioning accuracy.

A mobile device may be configured to report back to the network location server the distance vectors it has established between different mobiles. The other mobile devices involved with the positioning enhancement may also report their distance vectors to the network to have their overall position accuracy improved as well.

The location accuracy may be done in incremental steps. The process may continue until no more positional improvements are achievable or a set precision or accuracy is achieved. The positional accuracy improvement threshold may be operator defined, and may be stored in a mobile device memory.

When collecting the distance vectors and other positional information, if the error associated with a location is greater than Q % for a lower positional confidence level then no update may be required. As the mobile device receives other sensor data and more than a pre-described change in distance in any direction or a combined distance vector, then the positional update process may begin again. However if the Q % of location confidence level is less than desired, additional positional updates may be made with the mobile devices grouped together in an interactive process to improve the confidence level of the location information.

It is important to note that typical positional location methods that are used currently used by networks are not necessarily replaced with above-described positional lateration. Instead, the hybrid lateration method may be used in various embodiments to augment the positioning accuracy and confidence for network based position requests due to boundary changes or paging requests or other position/location triggered events.

FIGS. 9A-9E illustrate various logical components, information flows, and data suitable for use in various embodiments. FIG. 9A illustrates that mobile devices 901, 902, 903, and 904 are communicating with the wireless network via multiple cell sites/radio access points/eNodeBs 911. The mobile devices 901, 902, 903, and 904 may compute a relative fix on their initial location using any of the location determination solutions discussed above. A first mobile device 901 may be instructed to find and communicate with the other mobile devices 902, 903, and 904, and/or any or all of mobile devices 902, 903, and 904 may be instructed to communicate with the first mobile device 901. The mobile devices 901, 902, 903, and 904 may be grouped together (e.g., via one of the grouping methods discussed above). The network may also designate any one of the mobile devices 901-904 (e.g., a mobile device having a high position confidence) to be used as the reference or beacon for the other mobile devices within the group of mobile devices 901-904.

FIG. 9B illustrates that a combination of circular and/or hyperbolic lateration operations may be performed as part of an embodiment location determination solution. For example, if any of the coordinate data provided by the sensors and/or mobile devices is in latitude and longitudinal coordinates, it may be converted to Cartesian coordinates to facilitate a hybrid lateration calculation. In the embodiments illustrated in FIG. 9B, the mobile devices 901 has been designated as reference mobile device, reference number 912 identifies the position to be determined/computed (e.g., with a high level of accuracy) with respect to mobile device 901, reference number 910 identifies a three dimensional sphere that encompass the mobile device 901, and reference number 914 identifies an area of the three dimensional sphere (with X, Y, and Z coordinates) within which the device exists.

FIG. 9C-9D illustrate that distance vectors may be computed between the mobile devices 901, 902, 903, and 904 as part of an embodiment location determination solution. In FIG. 9C mobile 901 using the hybrid lateration method determines a relative position with respect to mobile devices 902, 903, and 904 respectively. Additionally, reference numbers 909, 915, and 916 identify the relative areas of mobile devices 902, 903, and 904, respectively. As part of the hybrid lateration operations of the embodiment location determination, mobile devices 902, 903, and 904 may locate mobile device 901, and the mobile device 901 may compute a distance vector between itself and mobile devices 902, 903, and or 904. The mobile device 901 may initiate communications with mobile device 902 (although mobile device 902 could initiate the communication) and exchange time stamps, location information, sensor data. The same process may occur with respect to mobile devices 904 and 903, in which positional and sensor information is exchanged.

As illustrated in FIG. 9D, the mobile devices 902, 903, and 904 may establish a distance vector between themselves and mobile device 901. The same process may occur with respect to mobile devices 902, 903, and/or 904, in which positional and sensor information is exchanged. Where mobile device 902 undergoes a similar process as with mobile device 901 as part of the hybrid lateration process. Mobile device 901 may use mobiles 902, 903, and 904 to enhance its location information and mobile device 902 may use mobiles 901, 903, and 904 to enhance its positional information, and so forth for all the mobile devices that are grouped together.

The three ellipsoids 909, 915, and 916 illustrated in FIG. 9C and the three ellipsoids 906, 907, and 908 illustrated in FIG. 9D may not intersect at a given point, but span an area of a particular size depending on the ranges involved. In various embodiments, all of the ellipsoids may not all intersect with each other. An interpolation of the best position may be necessary in any embodiment.

FIG. 9E illustrates an embodiment hybrid lateration method in which the position of mobile device 901 is validated or improved upon. As part of the hybrid lateration method, a separate calculation operation may be required for each X, Y, and Z coordinates, in addition to accounting for velocity. However, the ability to have three mobile devices 902, 903, and 904 locate mobile device 901 may present an error window (or an error area) for each coordinate plane represented by reference number 930. The error window/area may be a combination of range errors from the mobile devices 902, 903, and 904. Contributing to the error window/area is the hybrid range errors illustrated by reference numbers 921, 922, and 923, where: reference number 921 is the hybrid range error associated with mobile device 902; reference number 922 is the hybrid range error associated with mobile device 903; and reference number 923 is the hybrid range error associated with mobile device 904. Additionally this process can be done with less or more mobile devices than used in the above example.

For each axis (X, Y, or Z), a similar process occurs where the error area/volume 930 is a combination of determining the range between the other mobile devices and mobile device 901. The hyperbolic lateration is a typical calculation method used in location based systems and is based on the principal that the range between two locations is the same. However the range determined for the points may not be constant because the devices may be moving relative to each other.

With the hybrid lateration method proposed, a corrective distance vector ΔX, ΔY, ΔZ is used that may be used with the estimated position.

The three ellipsoids 909, 915, and 916 illustrated in FIG. 9C and the three ellipsoids 906, 907, and 908 illustrated in FIG. 9D may not intersect at a given point, but may span an area of a particular size depending on the ranges involved. Therefore range is “r” and is denoted by the subscript representing the distance vector involved. Thus: r=p_(i)+error.

The pseudo range p_(i) may represent a deviation from the actual range in any axis due to the inaccuracy in synchronization or propagation in a multipath environment or due to sensor induced errors. Where the distance vector accounting for change in direction is: r_(i)=√(X_(i)−x)²+(Y_(i)−y)²+(Z_(i)−z)².

Three range calculations may then be averaged to determine the distance vector that is used. If the previous range calculation r_(j) as compared to that of the current calculation has an error in excess of a defined percentage or variant, then the new measurement may be disregarded. Included with the distance vector validation may be fusion sensor information where the expected location vector calculated may be included for the confidence interval. Range difference=d_(ij)=r_(i)−r_(j)

An iterative process may be used for position improvement, which may include the use of a least squares calculation fit to approximate the position solution in a step wise basis. The process may continue until the range difference measured does not produce appreciable accuracy improvements, which may be defined level, either at the mobile device, the network, or both.

Multi-lateration calculations may include estimating a location of a mobile device based upon estimated distances to three or more measurement locations (e.g., locations of three other mobile devices or wireless transceivers). In these calculations, the estimated distance from a measurement location (location of another mobile device) to the mobile device may be derived from the measured signal strength. Since signal strength roughly decreases as the inverse square of the separation distance, and the transmission power of the mobile device may be presumed, the distance d_(i) may simply be calculated as: d _(i)=√(S ₀ /Si _(i))

-   -   where:     -   d_(i) is the estimated separation distance between a measurement         location and the mobile device;     -   S_(i) is the measured signal strength; and     -   S₀ is the strength of the signal transmitted by the other mobile         device.

Alternatively, the signal strength readings may be translated into distances using a path loss model, such as the following: RSSI_(i) =a−cb log₁₀(d _(i))

-   -   where:     -   a is the signal strength at d_(i)=1 meter;     -   b is the path loss exponent; and     -   c is the pathloss slope with 20 being used for free space.

The lateration operations may include performing a least squares computation, which may accomplished by a processor calculating the following formula: min_((x,y))Σ(d_(i−∥MS) _(i)−(x,y)∥)²

-   -   where:     -   d_(i) is the distance calculated based on a measured signal         strength value;     -   MS_(i) corresponds to the known location of the mobile device;         and     -   the minimization value of (x, y) is the estimated position of         other mobile devices.

The above equation may be expanded to three (3) dimensions or between any two coordinates.

FIG. 10 illustrates an embodiment hybrid lateration method 1000 in which mobile devices may gain access to the network. The mobile devices may be instructed to be grouped by a network. Mobile devices 901 and 902 may initiate sharing of information for location due to a network driven grouping request. The sharing may be initiated because the mobile device has lost contact with the network and attempts to find a suitable mobile device to help in its location determination and/or possible connection to the network from which it disconnected via a relay or connection to another network.

Mobile device 901 may send a request for position information to mobile device 902. The information may be sent after an authentication process between mobile devices, and may include a time stamp. The time stamp may be sub seconds in size (e.g., milliseconds). The mobile device 902 may respond with a message that also has a time stamp, and timing information pertaining to when the mobile device 902 received the time stamp from mobile device 901. Multiple messages (e.g. 2 or more) may be transferred quickly to establish time synchronization. The time differences may then be compared, along with possible pulses or pings, to establish an estimated distance vector between the mobile devices. Knowing the distance vector and the X, Y, and Z coordinates of both 901 and 902, a point-to-point fix may be established.

The mobile device 901 may then initiate communication with mobile devices 903 and/or 904 and repeat the operations discussed above with respect to mobile device 902 for each of mobile device 903 and/or 904. After obtaining one or more distance vectors along with positional information, the mobile device 901 may compare the new coordinates to its previously computed current location, and adjust the location computations accordingly.

The positional information distance vectors may be sent to the network for positional processing with other network positional information. Based on the position calculated for the mobile device, the network (e.g., a component in the network, such as a network server or E-SMLC) may instruct the mobile device to adjust its positional information.

Additionally the mobile device 901 may also make a positional correction if the network does not respond in time, which may result in a message update time out. Alternatively, when the network cannot make the necessary correction, the positional information may be used by another component and/or other mobile devices to perform the necessary corrections.

If the error is greater than Q % for a lower positional confidence level then no update is required. As the mobile receives other sensor data and more than a pre-described distance in any direction or a combined distance vector than the positional update process begins again. If the Q % of positional confidence level is less than desired, additional positional updates may be made with the grouped mobile devices (e.g., iteratively) to improve the confidence level of the positional information. Additionally, if the location information from the mobile devices that are attempting to obtain a distance vector appears to be in error, then that mobile devices data may be selected to not be used for this iterative step of performing positional updates with other grouped mobile devices. However, it may continue to be queried as part of the process since its location could be corrected in one of the steps it is taking to improve its location as well.

Additionally, in the event that one or more mobile devices lose communication with the core network it may still be possible to maintain position accuracy through one of the other grouped mobile devices. It will also be possible to continue to maintain a communication link by establishing a network relay connection with another mobile device(s) in the same group which still has communication with the network.

FIG. 11 illustrates another embodiment hybrid lateration method 1100 in which a mobile device cannot locate a network. The mobile device 901 may operate in an autonomous mode and attempt to locate another mobile device. The other mobile device could be used to relay information to the network and possibly set up a near field communication bridge in addition to providing location enhancement capabilities.

In the example illustrated in FIG. 11, mobile device 901 establishes a near field LAN inviting other mobile devices in proximity to communicate with it. Positional information can then be shared and the mobile device 901 can have its location improved. The positional information may be relayed back to the core network via another mobile device.

The mobile device 901 may also communicate its positional information and establish near field communication link with a mobile device that is not part of the home network associated with mobile device 901.

The mobile devices may have the USIM, SIM, PRL or access point information pre-built in. The mobile device for first responders may have the incident radio system set as their preferred system, or in the case that the radio access system being used as a public safety network.

For first responders to utilize a wireless mobile network (e.g., LTE), the location information accuracy may need to be improved within builds in addition to providing more accurate location information about where the mobile devices are actually located. The improvements benefit the mobile device where it is used by a first responder, commercial cellular user, or a combination of both.

The location improvement for first responders may be helpful to improve situation awareness, improve telemetry, and overall communication with the incident commander. Since all incidents for first responders tend to be fluid, the ability to account for a dynamic environment of mobile devices coming into and out of the incident area may be crucial. In addition the mobile devices proximity location to other mobile devices can and will change as the incident situation changes where resources are added and/or reassigned as the need arises for operational requirements.

The use of network and terminal driven position enhancement techniques previously discussed herein may be exploited. The grouping of mobile devices may be done either as part of pre-plan, with intervention by the incident commander, or driven from the commercial wireless network, public safety wireless network, or local incident communication system (ICS) based on reported proximity of the mobile devices.

FIG. 12A illustrates that upon arriving at the incident scene, a mobile device 102 may recognize the existence of a local radio network 1202. If there is no ICS radio network 1204 with which the mobile device may connect, the mobile device 102 may continue to communicate via a commercial or other wireless network, 1202.

FIG. 12B illustrates that the mobile device 102 may determine that there is a valid local radio system 1202 with which it may communicate. Mobile device 102 may have priority access to the small cell system 1204 based on a preferred network and cell selection process the mobile device 102 has been instructed to use.

FIG. 12C illustrates embodiments where the mobile device 102 may transfer the connection from the local radio system 1202 to the small cell system 1204.

For first responders when a situation arises that requires finding a man down or responding to an emergency call (911), the location based process may be used to help in the search and rescue operation.

FIG. 13A illustrates embodiments where the mobile device 102 or its user may be identified by the network as being in distress. This may be by the network monitoring the mobile device 102 or via the mobile device transmitting a distress signal. The distressed mobile device 102 may determine that it has lost communication with the network, and may instruct the wearer/user to either disable or initiate a distress signal. The mobile device 102 may in various embodiments be set to auto initiate a distress signal. This may include situations such as a response to sensor readings, loss of connectivity, or inactivity of the device for a period of time. The mobile device 102, upon initiation of a distress signal, may begin a grouping process previously defined.

FIG. 13B illustrates embodiments where the network 510 to which the serving eNodeB 404 is connected to may instruct a mobile device 1302 in the same group as the distressed mobile device 102 to report the last known location of the mobile device 102 and time stamp.

FIG. 13C illustrates embodiments where the network 510 may instruct additional mobiles devices 1304 to attempt to group with the distressed mobile device 102.

FIG. 14 illustrates embodiments where the mobile device 102 is unable to communicate with the network 510, it may be operating under a dead reckoning process and continue to attempt to locate other mobile devices 1402, 1404 and group with them under an ad-hoc scheme.

Once the mobile device has been grouped, or is still connected to the network, the relative location of the mobile device may be sent to all the mobile devices that are in active search for that mobile device. The selection of which mobile devices will be searched may be determined by operator intervention and selection.

FIG. 15 illustrates an embodiment enhanced antenna scheme 1500 that may be used by wireless network operators or first responders to improve the positional accuracy for the mobile device. The enhanced antenna scheme 1500 may include a radome 1515 that is curved over a series of patch antennas 1520. Several antennas 1520 may be used achieve better angle of arrival measurement. In an embodiment, the enhanced antenna scheme 1500 may include an array of antennas 1520 on flexible circuit boards so they can conform to the radome 1515.

FIG. 16A-B illustrate embodiments of strips of antenna patches that may be used in various embodiments. FIG. 16A illustrates two strips of antenna patches 1520 and 1521 next to each other in an antenna array. The strips may be on a flexible circuit board so they conform to a radome. FIG. 16B is an illustration of a cross sectional view of the radome 1515 in which the antenna patches 1520 and 1521 of the antenna array are shown layered. The antenna patch 1520 is closer to the outer radome cover 1515 than is antenna array 1521. A fiber glass or a transparent RF medium 1522 may provide rigidity and enable the antennas to be closely spaced. The antenna array may be cone or other shaped using a flexible circuit design for various embodiments such as receive only configurations. Envelope detectors may be used to determine which of the antenna patches are receiving the highest quality signal from the mobile device using an amplitude method for detection.

In an embodiment, the detection and tracking of a mobile device may be controlled such that the measurements are in-synch with a eNodeB pulse request to the mobile device for positional information

FIG. 17 illustrates an antenna array (1520 or 1521) in which the antenna system is connected to the normal antenna port on a receiver (e.g., eNodeB) 1525. Each of the patch antennas may be matched to a 10 db coupler 1527 and configured to provide a port coupling to a receive patch detector 1530. The receive patch detector 1530 may be configured to determine which patch antenna has the strongest signal, and based on the number of patch antennas and the distance calculation, another altitude measurement may be made by the mobile device.

In an embodiment, the antenna array system may not be connected to the eNodeB receiver 1525 and control coordination may be provided by the E-SMLC for synchronization of the received signal from the mobile device.

FIG. 18 illustrates an embodiment antenna array 1523 retrofitted into an existing cellular wireless network. The array 1523 may be installed in parallel to an existing antenna 1524. A control mechanism that is the same as or similar to the control mechanism illustrated in FIG. 18 may used for the commercial applications.

FIGS. 19A-B illustrate that the above mentioned enhanced antenna scheme 1500 may be implemented on a vehicle 1902. Specifically, FIG. 19A illustrates an enhanced antenna scheme that includes two antennas 1904 for this purpose. FIG. 19B illustrates an enhanced antenna scheme that includes four antennas 1904 for this purpose. Each antenna 1904 may include an array of antennas 1520 on flexible circuit boards so they can conform to the radome 1515.

Services and applications based on accurate knowledge of the location of a mobile device are becoming more prevalent in wireless communication systems. Additionally, public safety entities are also embarking on the use of commercial cellular technology, LTE, as a communication protocol of choice. Of specific importance is the need for improved location and situational awareness.

Presently, GPS provides a good estimate of the mobile devices current location under optimum conditions. However, in many situations, especially inside buildings and urban environments, the ability to utilize GPS for location determination is hampered and many times is not reliable or usable. Network based solutions for determining the mobile device's location have difficulties with locating the mobile device within buildings and in urban areas. The introduction of wireless network systems such as the third generation partnership project (3GPP) long-term evolution (LTE) present new capabilities, including the ability in the public safety band to provide excellent coverage in urban and indoor environments. Although the wireless mobile networks can provide coverage in urban and in-building environments, the location information and positional accuracy is often limited.

Better location accuracy and confidence has many advantages for use in emergency location services, commercial location services, internal location services and lawful intercept location services. The various embodiments provide the ability to improve the positional location information for both new and existing wireless networks.

For commercial applications, the various embodiments provide the ability to have the mobile device improve location specific information within a multiple story building or an urban environment. This provides both network radio resource improvements, and has unique targeted advertising capabilities. Improved location information can also be used by applications for improved fleet management, asset tracking, and various machine to machine communications applications where location determination is required to be highly accurate. For commercial users, the need for improved location information accuracy is most needed for in-building environments where the location of the mobile device can be more accurately pin pointed.

An advantage of improved location information for law enforcement with may enable improved the tracking of mobile devices inside buildings. This may enable determinations of what floor or part of the building the device is located in without the need for using additional radio beacons or location aware access points.

For emergency services, an advantage of better location information for the party in need of assistance, especially in an urban environment where the positional information is most problematic with existing techniques may be quicker response times or location of a victim.

For first responders, this enhancement enables mobile devices which are in the vicinity of the distressed mobile device to help augment their location information or precision with each other in a controlled ad-hoc environment. The location information shared may include any or all of latitude, longitude, altitude, and velocity. This information generally involves a small amount of data, the mobile devices can have the E-SMLC in the case of LTE share the information both on-net and off-net.

The use of sensors including accelerometers, gyroscopes, magnetometers, and pressure sensors along with GPS receivers with mobile devices is becoming more prevalent. Therefore, the enhancements for location information may give, in the case of LTE, the E-SMLC the ability to not only utilize GPS or network derived coordinate information, but also to augment sensor data associated with the mobile device which may include accelerometers, gyroscopes, magnetometer, and pressure sensors for refining and reducing some of the positional uncertainties that are in inherent to wireless location determination.

For wireless mobile networks, like LTE, users demand improved location information accuracy, especially for in building environments, in addition to generally desiring more accurate location information about the location of the mobile devices. This is true regardless whether the mobile device is used by a first responder, commercial cellular user, or a combination of both.

Improvements to location information enable improved situation awareness, improved telemetry, and improved overall communication with incident commander. In addition, the devices proximity to other devices or to fixed infrastructure devices may change. Improved location information for mobile devices allows for resources to be added and/or reassigned according to operational requirements in dynamic situations.

As discussed above, the various embodiments include methods of performing enhanced location based operations to determine an improved location (e.g., a more precise location that includes more precise values, more accurate coordinates, etc.) for a mobile device. These enhanced location based operations may include determining an approximate location of the device, grouping the devices with a wireless transceiver in its proximity to form a communication group, sending the determined approximate location to the wireless transceiver, receiving location information from the wireless transceiver, and determining a more precise location (e.g., a more precise value, more accurate coordinates, etc.) of the device based on the received location information. As part of the operations for determining its location (e.g., when determining its approximate location, etc.), the mobile device may estimate its position and/or generate a position estimate (e.g., a value or information structure that includes one or more information fields, such as latitude, longitude, altitude, ranking, confidence, precision, etc.). The various embodiments allow such position estimates to include latitude, longitude and elevation information that is accurate to within a specific level of accuracy. In a preferred embodiment, the mobile device may be configured to generate a position estimate that includes latitude, longitude and elevation information that is accurate within one (1) meter or better.

Further embodiments includes methods of providing a location based service on a first fixed wireless device. A processor of a first fixed wireless device may be configured to determine whether information that was obtained from (an internal or external) geospatial system is available in the first fixed wireless device. The processor may also determine whether the first fixed wireless device is able to establish a location fix (e.g., calculate its geospatial location) based on information obtained via a geospatial system. The processor may collect location information from a communication group in response to determining that the first fixed wireless device is not able to establish a location fix (e.g., due to its inability to acquire satellite signals or navigation data, the unavailability of information that was obtained via a geospatial system, inaccuracy of the available information, etc.). The processor may use the collected information (e.g., the information collected from devices in the communication group) to compute a new location fix when it is unable to establish an adequate location fix based on information that is obtained via a geospatial system. The new location fix may be a three-dimensional location fix that includes three-dimensional location and position information, and the first fixed wireless device may provide all or portions of a location based service based on the new three-dimensional location fix.

The various embodiments may include a wireless device having a processor that is configured to receive and use location information from one or more external devices (e.g., another mobile device, a device having a Cell ID, a WiFi device, a Bluetooth device, an RFID device, a GPS device, a location beacon transmitting device, etc.). In some embodiments, the wireless device may receive the location information in the form of one or more waypoints.

A waypoint may be an information structure that includes one or more information fields, component vectors, location information, position information, coordinate information, etc. Each waypoint may include coordinate values (e.g., x and y coordinates, latitude and longitude values, etc.), an altitude value, a time value, a timestamp, ranking values, confidence values, precision values, a range value, and an information type identifier (e.g., GPS, Loran C, sensor, combined, etc.). The coordinate and altitude value may identify the three-dimensional location of the corresponding external device. The timestamp may identify the time that the location was determined/captured. The range value may identify a distance between the external device and the mobile device. In various embodiments, a waypoint may be, or may include, a location estimate value, a position estimate, a location set, or any other similar value or location information that suitable for adequately conveying or communicating location information.

Some of the embodiments discussed above may allow a processor in a computing device (e.g., mobile wireless device, etc.) to generate a position estimate (a value or information structure that includes one or more information fields). Wireless fixed infrastructure devices (FIDs) such as small cells, femto cells, WiFi access nodes, Bluetooth™ beacons, fixed appliances, etc. could also benefit from such position estimates, particularly if they include longitude, latitude, and elevation information that is within a specific or high degree of accuracy (e.g., within one (1) meter or better). Generating and using such accurate geodetic coordinate values is also of growing importance for various entities (e.g., wireless service providers, mobile advertisers, public safety operators, etc.) that could also benefit from the position estimate generated via the various embodiments discussed in this application.

In the various embodiments, a processor may be configured to provide location based services on or via a fixed wireless device (e.g., a FID, etc.). In some embodiments, the fixed wireless device may include a geospatial positioning system (e.g., a GPS receiver, etc.). In other embodiments, the fixed wireless device does not include any geospatial positioning system (e.g., GPS, etc.) or its equivalents.

In the various embodiments, a processor that is included in or coupled to a computing device (e.g., a first fixed wireless device) may be configured to receive information that was obtained via a geospatial system. In some embodiments, this geospatial system may be included in the first fixed wireless device. In other embodiments, the geospatial system is included in a second fixed wireless device, a mobile wireless device, or some other device that is external to the first fixed wireless device, and transmitted to the first fixed wireless device.

The processor may be configured to determine whether the first fixed wireless device is able to use the received information (e.g., location information that was obtained via a geospatial system, either directly in the device or indirectly via another device) to adequately establish a location fix.

In response to determining the first fixed wireless device is not able to (or did not) establish an adequate location fix (e.g., based on the received information), the processor may collect additional location information (e.g., GPS timing information) from other devices that are in its communication group and/or from a network based location server.

In some embodiments, the processor may be configured to collect the additional location information from an intermediary device that was forwarded the information. For example, the processor may be included in a first fixed wireless device that is a member of a communication group. In addition to the first fixed wireless device, the communication group may include a first member, a second member, a third member, etc. Further, there may be other devices that are not in the same communication group as the first fixed wireless device, but which may communicate with one or more of the devices in the communication group (e.g., the first, second or third member).

As such, in some embodiments, in response to determining the first fixed wireless device is not able to (or did not) establish an adequate location fix, the processor may collect additional information by collecting forwarded information from the first member of the communication group. The first member may have received the forwarded information for from the second member of the communication group, from a network based location server, or from a fixed or mobile wireless device that is not a member of the communication group. As such, the first member may operate as an intermediary device that sends the forwarded information to the first fixed wireless device.

The processor may be configured to use the collected additional information (e.g., forwarded information, etc.) to determine or compute a new three-dimensional location fix (e.g., a value or information structure that includes one or more information fields, such as three-dimensional location and position information, etc.) for the first fixed wireless device. The processor may then use the new three-dimensional location fix to provide an enhanced location based service.

Often the geodetic coordinates for a small cells, femto cells, WiFi access nodes, Bluetooth™ beacons and/or other fixed appliances are manually entered (e.g., via human data entry). This may result in inaccurate values and/or cause other problems in the device. As such, automated and more reliable solutions that do not require any human interaction or intervention could be beneficial to wireless service providers, mobile advertisers, public safety operators, mobile device users, device manufactures, and users of location based services.

In some embodiments, a computing device (e.g., a fixed infrastructure device (FID) or wireless mobile device (MD)) may be equipped with a “sensor fusion” system/module that is configured to use various sensors to further improve location information. Such use (of sensors) may allow the computing device to better determine its approximate location and/or to generate a better position estimate (e.g., a more precise value, more accurate coordinates, etc.). In some embodiments, the computing device may also be equipped with a lateration module that is configured to perform any or all of the various lateration operations discussed in this application. The lateration operations may also include, or may be performed as part of, location-based operations that provide or accomplish enhanced location based services (eLBS) for wireless devices, including wireless FIDs and wireless MDs.

By performing lateration operations, the computing device may determine its location with a high degree of accuracy (e.g., within one meter) without human interaction or intervention.

In some embodiments, performing lateration operations on the computing device may include the computing device (or its processors) using or communicating with fixed infrastructure devices (FIDs) and/or wireless mobile devices (MDs).

Performing lateration operations may also include a fixed infrastructure device (FID) communicating with another FID and/or sharing location information (e.g., location-based information, coordinates, ranging data, etc.) with other devices.

If the location information does not provide ranging data (e.g., distances between an external device and the computing device), the devices may execute various processes or perform various operations in order to determine ranging information. These operations/processes may include sounding operations/processes, ranging operations/processes, etc. Ranging operations may include operations for implementing any conventionally or known technique for determining the distance between two components. They may also include any or all of operations disclosed in co-pending and co-owned U.S. patent application Ser. No. 14/993,618.

In various embodiments, an eLBS system (e.g., any a system or device that includes a processor configured to perform eLBS operations, etc.) may be extended to function (or to be used for, to support, etc.) an FID or FID-based location based services.

In some embodiments, the FIDs may be configured to receive and use inputs from other FIDs and/or MDs in order to improve the location information. This may be especially helpful where an object is to be fixed (is to be located at a fixed location), but over time may move, such as in locations where tectonic active can cause shifts.

Various embodiments may involve FIDs that cannot obtain a GPS lock using traditional methods. An example of such a device is illustrated in FIG. 20, which illustrates an embodiment FID 2001 (e.g. a small cell, femto cell, beacon with GPS capabilities, etc.). This example illustrates that the FID 2001 generally needs four satellites, numbered satellites (1), (2), (3), and (4) in order to obtain GPS location.

A FID may not always be able to connect to four satellites. At times, FID 2001 may only be able to obtain communication with three or fewer satellites. In various embodiments, an FID may use other FIDs or MDs to assist in making a GPS position determination. For example, FIG. 21 illustrates an embodiment system in which a FID may use such assistance for GPS position determination. As shown, FID(A) 2101 may only be able to obtain GPS timing and information from three satellites (1), (2), and (3) instead of the minimum four required for an initial location determination. Therefore, FID(A) 2101 may undergo discovery process 2105 with another FID, FID(B) 2103, allowing FID(A) 2101 and FID(B) 2103 to establish communication with one another. Specifically, once FID(A) 2101 and FID(B) 2103 discover each other via discovery process 2105 that could be through connectivity which may or may not include a network or core network or via a wireless communication methis, FID(A) 2101 may send a message 2017 to FID(B) 2103 requesting GPS assistance (“GPS Info Request”). Upon receiving the message 2107, the FID(B) 2103 may establish the distance between FIB(A) 2101 and FIB(B) 2103. This may be done by exchange of various signals and messages exchanged between FID(B) 2103 and FID(A) 2101. Once ranging and bearing information is established, the information is sent via message 2109 to FID(A) 2101. In various embodiments, the ranging and bearing information included in message 2109 may include bearing direction measurements as well distance measurements. FID(A) 2101 having received the ranging and bearing information to FID(B) 2103 from FID(B) 2103, FID(B) sends location info. (location information) message 2111 which includes GPS timing information for the satellite which FID(A) is unable to obtain information from. Utilizing the ranging and bearing information and the GPS timing information, FID(A) 2101 is able to offset the GPS timing information in order to use it as the fourth GPS satellite necessary to obtain a GPS lock. While the FID(A) 2101 is shown in FIG. 21 as obtaining initial information from each of satellite (1), (2), and (3), in some cases FID(A) may obtain initial information from only or two satellites. For example, FIG. 22 illustrates an example in which FID(A) 2101 is able to obtain initial information from only two GPS satellites (1) and (2). In this embodiment, FID(B) may provide GPS satellite information for satellites (3) and (4) to FID(A) 2101 using the same messages 2105-2111 described above with respect to FIG. 21.

The GPS satellite information can include latitude, longitude and timing information from one or both of the satellites that FID(A) can not obtain information on its own from.

Referring to FIGS. 1-22, a discovery process 2201 is executed between FID(A) 2101 and FID(B) 2103. This process is generally initiated by FID(A) 2101, but may be initiated by FID(B) 2103 in various embodiments. The discovery process 2205 is similar to discovery process 2105. FID(A) 2101 then may send a GPS information request message 2203 to FID(B) 2103. This may be one message requesting a number of GPS satellites necessary to obtain a GPS lock. Alternatively, message 2203 may request fewer than the necessary number needed from any one FID. In response to receiving the GPS information request message 2203, FID(B) 2103 and FID(A) 2101 establish ranging and bearing between each other similar to 2109. FID(B) 2103 may then send the GPS timing information for the number of satellites that have been requested that FID(A) 2101 is unable to communicate with. In various embodiments, FID(A) 2101 may request fewer than all necessary satellites from FID(B) 2103. The same process as illustrated in FIG. 22 may be followed but message 2203 may indicate a request for GPS information for fewer than all satellites. As illustrated in FIG. 22, it would be for one satellite.

The GPS information exchanged can include latitude, longitude, altitude and timing information about any of the satellites that FID(B) has and that FID(A) cannot obtain information on its own from.

FIG. 22 may also encompass embodiments where FID(A) 2101 is able to communicate with one or zero satellites. In these embodiments, FID(A) 2101 follows the same procedures and messages 2201-2207 with FID(B) 2103 but requesting the additional information necessary.

It is obvious to anyone skilled in the craft that obtaining GPS information that FID(A) needs to obtain a positional GPS lock can come from one, two or multiple FID's that FID(A) is able to communicate with.

In addition to obtaining an initial location using GPS information, additional refinements to position accuracy and/or precision of an FID may be achieved using the lateration operations with eLBS.

FIG. 23 illustrates communications among several FIDs. In various embodiments, FID(T) 2301, FID(A) 2101, FID(B) 2305, and FID(C) 2307 may communicate with each other in order to share location information (e.g., latitude, longitude, altitude, bearing information data, GPS data, GPS timing information, etc.). In various embodiments, the FID(T) 2301, FID(A) 2101, FID(B) 2305, and FID(C) 2307 may be of the same infrastructure and/or technology type, (e.g., LTE eNodeBs, LTE small cells, LTE femto cells, 3GPP, UMTS cells, Wi-Fi access points, Bluetooth™ beacons, or other radio access devices, etc.). In other embodiments, some or all of the FIDs may be of mixed infrastructure and/or technology types.

With reference to FIGS. 1-22, in various embodiment, FID(A) 2303 may obtain location information from other FIDs to determine its position. In various, embodiments, FID(A) 2303 may undergo a discovery process with FID(T) 2301 through message(s) 2309, and a discovery process with FID(B) 2305 with message(s) 2317.

The FID(A) 2303 may request location information from FID(T) 2301 through message 2311 which may be provided by various methods. For example, ranging and bearing may be established between FID(T) 2301 and FID(A) 2101 through exchange of message(s) 2313. FID(T) 2301 may then provide location information to FID(A) via message 2315. FID(T) 2301 may then provide GPS location information for FID(T) 2301 it has obtained from a satellite with which that FID(A) 2101 is unable to communicate.

Similarly, FID(A) 2101 may request location from FID(B) 2305 through message 2319. In response, ranging and bearing may be established between FID(B) 2305 and FID(A) 2101 through exchange of message(s) 2321. FID(B) 2305 may provide location information to FID(A) 2101 via message 2323. FID(B) 2305 may also provide GPS timing and location information for satellites FID(A) 2101 is unable to communicate with to FID(A) 2101.

FID(B) 2305 may respond by establishing ranging and bearing to FID(A) 2303 via ranging and bearing 2321. Location information for FID(B) 2305, including GPS satellite timing information may be sent to FID(A) 2303 location information message 2325. In some embodiments, the location information message 2325 may be sent to FID(A) 2101 prior to FID(A) 2101 and FID(B) 2305 establishing ranging and bearing via message(s) 2321. Further, transmission of messages 2305-2325 may occur, before, after, or simultaneously with the transmission of messages 2311-2315.

In various embodiments in which FID(T) 2301 and/or FID(B) 2305 are able to provide sufficient location information to FID(A) 2303 to establish a location fix, communications with additional FIDs and/or MDs (e.g. FID(C)) may not be necessary. However, in embodiments in which FID(T) 2301 and/or FID(B) 2305 are unable to provide sufficient additional GPS timing and location information to FID(A) 2303 to obtain a location fix, FID(T) 2301 and/or FID(B) 2305 may obtain additional GPS timing from other FIDs, including FIDs with which FID(A) 2303 may or may not be able to communicate with directly. For example, FID(B) 2305 may obtain, or facilitate FID(A) 2101 in obtaining, additional location information from FID(C) 2307, way may subsequently be provided to FID(A) 2101. In particular, FID(B) 2305 may undergo a discovery process with FID(C) 2307 through exchanging message(s) 2237. FID(B) 2305 may generate and send a location information request message 2329 to FID(C) 2307. FID(C) 2307 and FID(B) 2305 may establish ranging and bearing between each other via ranging and bearing messages 2331. FID(C) 2307 may then send GPS timing information via message 2333 for a satellite with which FID(A) 2101 and FID(B) 2305 are unable to obtain GPS timing information from. Message 2333 may also include additional location information such as latitude, longitude and/or altitude of FID(C) 2307. FID(B) 2305 may provide the contents of location info message 2333, or simply forward message 2333 to FID(A) 2303 as message 2325. In addition to message 2325, FID(A) will need to establish ranging and bearing from FID(A) 2101 to FID(C) 2307. This may be done by FID(B) 2305 providing ranging and bearing between FID(A) 2101 and FID(B) 2305 through message(s) 2321 and ranging and bearing between FID(B) 2305 and FID(C) 2307 via message(s) 2326. FID(A) 2101 then calculates the ranging and bearing from FID(A) 2101 to FID(C) 2307 to use with the GPS timing information provided by FID(C) 2307.

FID(B) 2305 and FID(C) 2307 may establish ranging and bearing via messages 2331 similar to how FID(B) 2305 and FID(A) 2101 establish ranging and bearing between each other. This may be accomplished in response to FID(B) 2305 requesting location information from FID(C) 2307 via message 2329.

In an various embodiments, FID(C) 2307 may be able to establish ranging and bearing to FID(A) 2101. This may be done in response to location information request message 2329 which may indicate the requesting FID, in this example, FID(A) 2101. In such an example, FID(C) 2307 may establish ranging and bearing via message(s) 2335 with FID(A) 2101 and provide GPS timing information via message 2337 directly to FID(A) 2101, or relay the GPS timing information via message 2333 to FID(B) 2305, which in turn sends it via message 2326 to FID(A) 2101.

In various embodiments, wireless mobile devices (MDs) may access a FID utilizing in order to provide an eLBS updates to one or more FIDs.

FIG. 24 illustrates an example in which a mobile device, MD(A) 2401, communicates with FID(A) 2101. Referring to FIGS. 1-23, FID(A) 2101 may establish access with MD(A) via message 2405. Alternatively, the MD(A) 2401 may establish access with FID(A) 2101. In either embodiment, messages 2405 may include normal communications between a wireless mobile device and a wireless fixed infrastructure device, such as a cellular telephone handset and an eNodeB, a base station, a WiFi access point, or BlueTooth™ enabled computing device, etc. FID(A) 2101 may request position information from MD(A) 2401 via location information request message 2407. FID(A) 2101 and MD(A) 2401 may establish ranging and bearing between each other via messege(s) 2409. MD(A) 2401 may provide FID(A) with its location information to GPS timing via message 2411. In various embodiments, MD(A) 2401 may also provide location information such as latitude, longitude, and/or altitude information via message 2411 to FID(A) 2101. Location information may further include a velocity component for MD(A) 2103, or a relative velocity between FID(A) 2101 and MD(A) 2401. FID(A) 2101 may use the received location information in addition to the GPS timing information to determine a location fix.

FIG. 25 illustrates another example in which multiple MDs may exchange communications with a FID to enable the FID to determine its position. With reference to FIGS. 1-24, MD(B) 2501 and MD(C) 2503 may provide location information to FID(A) 2101 in addition to MD(A) 2101. FID(A) 2101 may establish access with MD(B) 2501 via message(s) 2505. MD(B) 2501 may receive a location information request message 2507. MD(B) 2501 and FID(A) 2101 may establish ranging and bearing via message(s) 2509. MD(B) 2501, may send location information via message 2511 to FID(A) 2101. FID(A) 2101 may also establish access with MD(C) 2503 via messages 2513, send a location information request message 2515 to MD(C) 2503, establish ranging and bearing via messages 2517 between FID(A) 2101 and MD(C) 2503, and receive location information from MD(C) 2503 via message 2519. Messages 2505-2511 and 2513-2519 are similar to messages 2405-2411. FID(A) 2101 may obtain location information from multiple MDs and FIDs simultaneously or in series. In various embodiments, access between FID(A) 2101 and any of MDs(A) 2401, (B) 2501, (C) 2503, may have previously been established. An examples include an MD camped on a cell tower, an MD that previously transferred connection to a cell tower or a WiFi transceiver.

In various embodiments, a FID may have location information, to include some or all of latitude, longitude, and/or altitude or location. MDs and/or other FIDs, may be used to improve the accuracy of the FIDs latitude, longitude, and/or altitude measurements, or to verify the location information the FID currently has on record.

FIG. 26 illustrates an example in which multiple MDs may be used to a FID in determining or improving precision and/or accuracy of location information or to determine a location fix. FIG. 26 illustrates communications which may originate at an FID and be relayed to/through MDs to other MDs or FIDs. With reference to FIGS. 1-25, FID(A) 2101 may exchanges messages 2505-2511 and 2513-2519 with MD(B) 2501 and MD(C) 2503 respectively, and messages 2405-2407 with MD(A) 2401, the same as described above with reference to FIG. 25. Ranging and bearing message(s) 2615 and location information messages 2617 may be similar to messages 2409 and 2411 is no forwarding is necessary. As illustrated in FIG. 26, FID(A) 2101 may have location information requests forwarded from an MD to another MD, such as from MD(A) 2401 to MD(D) 2607. The location information requests may be sent from MD(D) 2607 to FID(B) 2603 as well as communications though FID(B) 2603 to MD(E) 2609. In such embodiments where ranging and bearing information and location information is routed through other one or more devices, messages 2615 and 2617 may carry additional information as described below.

In an embodiment where FID(A) 2101 is unable to receive sufficient location information from MDs (A) 2401, (B) 2501, and/or (C) 2503, an MD may be able to establish a communication link with another MD or FID. FIG. 26 illustrates such an example, where MD(A) 2401 may conduct a discovery mode to establish communication with MD(D) 2607 via message(s) 2621. This may include communication such as ad hoc WiFi, BlueTooth™, near field communication (NFC) or other protocol to transmit the necessary messages between the devices. Once communication is established, MD(A) 2401 may send location information request to MD(D) 2607. MD(D) 2607 may establish range and bearing to MD(A) 2401 via message(s) 2625. MD(D) 2607 may then send location information, to include GPS timing information to MD(A) 2401 via message 2627. In various embodiments, message 2627 may additionally, or alternatively, include latitude, longitude, altitude information. MD(A) 2401 may send the information received from MD(D) 2607 to FID(A) 2101 via message(s) 2619.

A request for location information may be sent onto another device if MD(D) 2607 is unable to provide the requested information. In FIG. 26, MD(D) 2607 may establish communication with FID(B) 2603. This may be achieved through access message(s) 2629. Message 2631 may be a forward the location information request 2623 from MD(A) 2401 received by MD(D) 2607, or message 2631 may be a new location information request from MD(D) 2607 to to FID(B) 2603. In response to the location information request message 2631, FID(B) may establish ranging and bearing between FID(B) 2603 and MD(D) 2607 via message(s) 2633. FID(B) 2603 may then send location information to include GPS timing information to MD(D) 2607. The location information regarding FID(B) 2603 may be sent from MD(D) 2607 to MD(A) 2401 via message 2627 and any ranging and bearing information between FID(B) 2603 and MD(D) 2607 may be sent via message 2625 to MD(A) 2401. Upon receipt by MD(A) 2401 of the messages containing ranging and bearing information and location information from FIB(B) 2603 through MD(D) 2607 via message(s) 2625 and 2627 respectively, MD(A) 2401 may send the ranging and bearing information to FID(A) 2101 via message 2615 and the location information to FID(A) 2101 via message 2615.

If FID(B) 2603 is unable to provide the requested location information, FID(B) 2603 may forward the request to another FID or MD. FIG. 26 illustrates FID(B) 2603 establishing access with MD(E) 2609 via message(s) 2637. FID(B) sending a location information request to MD(E) 2609 via message 2639. MD(E) 2609 and FID(B) 2603 may then establish ranging and bearing between each other via message(s) 2641. MD(E) may provide location information to include GPS timing information to FID(B) 2609 via message 2643. Messages 2637 through 2643 are similar to messages 2505 through 2511 or 2513 through 2519. A difference being that the message 2639 may indicate it is a forwarded location information request.

The ranging and bearing information received via message(s) 2641 and location information received via message 2643 may be sent back through the same communication pathway to FID(A) as the request was originally received, e.g., though MD(D) 2607 through messages 2633 and 2635 to MD(A) 2401 via messages 2625 and 2627 and to FID(A) 2101 via messages 2615 and 2617.

In various embodiments where location information is forwarded from one device to another, (e.g., FID(B) 2603 through MD(D) 2607 through MD(A) 2401 to FID(A) 2101 as illustrated in FIG. 26), relative ranging and bearing information between each linking device needs to be transmitted as well if the device providing GPS timing information does not also include location information of sufficient accuracy and precision (e.g., sufficiently accurate and precise latitude, longitude, and altitude position information) for the ultimate receiving device, which in FIG. 26 is FID(A) 2101. This does not apply in circumstances in which the relayed device providing the GPS timing information is able to establish ranging and bearing to the ultimate receiving device, even if the GPS timing and ranging and bearing information are forwarded through other devices.

FIG. 27 illustrates an example in which multiple MDs and multiple FIDs may be used to obtain location information. With reference to FIGS. 1-26, FID(A) 2101 may obtain location information from FID(T) 2701 through communication links 2721. Obtaining location information may be performed, for example, using any of the communications described above with respect to FIG. 23. Similarly communications in link 2721 may also include any communications that are routed from FID(A) 2101 through FID(T) 2701 to and/or from MD(A) 2401 via communication link 2727.

Each of the communication links 2721, 2723, 2725, 2727, 2729, 2731, 2733, 2735, 2737, 2739, and 2741 illustrate example communication pathways between FIDs and MDs. These communications links represent routes via which location information and ranging and bearing information may be communicated between FIDs and/or MDs, to include FID(A) 2101, FID (B) 2705, FID (C) 2707, FID (T) 2701, MD(A) 2401 MD(B) 2711, MD(C) 2713, MD(D) 2715, and MD(E) 2719. Location information and ranging and bearing information may be communicated via one pathway, e.g. FID(A) 2101 to MD(E) 2719 via link 2713 to FID(B) 2705 and via link 2725 to FID(C) 2707 and link 2735 to MD(E) 2719 and returned a different route, e.g. MD(E) 2719 via link 2739 to MD(D) 2715 and link 2733 back to FID(A) 2101. Other links may be established as needed or desired in various circumstances including when a MD moves to another FID or is no longer in communication with a FID or there is another FID that is added or removed from the network.

FIG. 28 illustrates various embodiments in which a network provided location server may assist FIDs and/or MDs in location determination. With reference to FIGS. 1-27, a network location server 2801 may assist in determining location of the FID(A) 2101 by providing latitude, longitude, altitude, and/or GPS data based on inputs from other FIDs and or MDs. In various embodiments, network locations server 2801 may contain or store latitude, longitude, altitude, and/or GPS data for various devices (e.g., FIDs and MDs.) GPS data may include satellites to which various devices have access to. This may assist in routing location information requests to a unit that can provide the desired location information to establish a fix.

Each FID, FID(T) 2701, FID(A) 2101, FID(B) 2705, FID(C) 2707 may have a communication link, communication links 2803, 2805, 2807, and 2809 respectively, to network location server 2801. Communication links 2803, 2805, 2807, and 2809 may be wireless and/or wired connections. The communication links may be used to communicate between the FIDs as well for sharing positional information. For example, FID(A) 2101 may contact network location server 2801 via link 2805 to obtain current or history location information for any other FID the network location server may communicate with. If FID(A) 2101 requests current location information for FID(T) 2701, network location server 2801 may obtain the information from FID(T) 2701 via communication link 2803 and provide the information to FID(A) through communication link 2805. Alternatively, network location server 2801 may act as an intermediary and relay the communication between FID(A) 2101 and FID(T) 2701. In another embodiment, network location server 2801 may relay the initial request from FID(A) 2101 to FID(T) 2701. FID(T) 2701 may initiate a discovery process between FID(A) 2101. Once the relayed request is received from network location server 2801, FID(T) 2701 may establish ranging and bearing with FID(A) 2101 and provide location information and/or GPS timing. In various embodiments, communications between FID(A) 2101 and FID(T) 2701 may utilize links 2803 and 2805 through network location server 2801 in addition to communication link 2721.

The communication links 2803-2809 may forward location information for MDs that connect to the network location server 2801 through a FID. MDs may also obtain location information from the network location server 2801 through an FID, or relay the location information obtained from the network location server 2801 to an FID if an FID does not have a direct link to the network location server 2801. For example, if FID(T) 2701 is unable to communication directly with network location server 2801, it may have its request forwarded through other FID(s) and/or MD(s) to obtain data from the server.

As is discussed in more detail below, FIG. 29 illustrates a method 2900 of performing eLBS operations on a computing device according to an embodiment. Method 2900 may include performing lateration operations, which in some embodiments, may include the use of Dead Reckoning techniques for FIDs.

Thus, Dead Reckoning may be used for FIDs. This is not because FIDs generally move. Rather, when an FID is initially installed, it is moved to an installation point. The installation point may be a GPS stressed environment that does not have adequate access to geospatial positioning systems or to accurate location information. Accordingly, in some aspects, Dead Reckoning techniques may be used to assist in determining the initial latitude, longitude, and/or altitude values as the FID is moved to the installation point.

Further, if an FID is to be installed in a GPS stressed environment, then an initial GPS fix may be obtained prior to entering the GPS stressed environment. The FID may then be moved into the GPS stressed environment for installation.

Thus, Dead Reckoning may be used as one way of providing latitude, longitude, and/or altitude adjustments for the move to the new location.

Dead Reckoning may also be used in situations in which the FID is affixed to an object that moves. Dead Reckoning may also be used when repositioning of the FID. The FID may be repositioned for network performance reasons, commercial reasons, due to natural disasters or acts of god (e.g., the building moving after an earthquake, etc.), or other similar reasons (e.g., in taller buildings where the FID is mounted on the roof or an upper floor, which may sway). Once an initial fix is obtained from the FID regardless of its accuracy, a decision may be made to determine if additional improvements are desired or necessary. The lateration portion of eLBS may perform calculations to determine improved location information with regard to other wireless devices both fixed and mobile.

Method 2900 may be performed by a processor in a FID, such as FID(A) 2101, and/or MD, such as MD(A) 2401, to determine its location or to further improve location information. All or portions of method 2900 may also be performed by another platform, such as a Network Location Server 2801 or any of the components illustrated in any of FIGS. 1 through 28, after the computing device gains access to the network.

With reference to FIG. 29, in block 2902, the device processor may attempt to acquire a network connection to a wireless service provider to satellites, WiFi or any other wireless network to which the computing device may connect. In block 2904, the device processor may attempt to obtain an initial location fix or other location information. For example, the device processor may obtain the initial location fix by using any of GPS, CellID, WiFi ID, enhanced LoranC, and/or other similar information, or combination of the information from various location systems, that is received by, computed in, or available to the device processor to perform any or all of the location determination techniques, methods, or operations discussed herein.

In some embodiments, as part of the operations in block 2904, the device processor may also obtain, determine, generate, or compute a near term positional fix estimate (e.g., latitude, longitude, and elevation values) from information received from FIDs such as small cells (e.g., femto cells) in the area. The device processor may be configured to use the near term positional fix estimate value to compute, replace, re-compute, or validate the current location determination.

In determination block 2906, the device processor may determine whether any location information was received and/or determine whether additional location information is necessary to obtain a location fix. In response to determining that additional location information was not received (e.g., determination block 2906=“No”), in block 2910 the device processor may select the last known/trusted location from memory. In various embodiments, this may be accomplished by selecting the most recently computed, generated, or stored location information, selecting the location information having the most recent timestamp, selecting the location information having the highest precision and/or confidence value(s), selecting the location information having the highest confidence ranking, obtaining location information for the FID from an external server, or any combination thereof.

In response to determining that location information was received (e.g., determination block 2906=“Yes”), in block 2908, the device processor may determine whether the received location information is better and select the better location information, better being based on confidence, accuracy, and/or precision values of the location information, than the previous known/trusted location stored in memory. The device processor may select the more accurate location information for use in generating a final location fix. For example, the device processor may generate a temporary location based on the received location information. The device processor may determine whether the temporary location is more accurate, precise, and/or has a higher confidence associated with it than the current location information. The device processor may then select the location information with the high confidence, greater accuracy and/or precision values of the two location information for use in determining the final location fix. Alternatively, an updated location may be computed using the received location information and current stored location information but weighting each based on confidence values associated of each datum.

In block 2911, the device processor may use the location information selected in block 2908 to establish a location fix. In determination block 2912, the device may determine whether the location fix is sufficient (e.g., sufficiently detailed, precise, accurate, high enough confidence value(s)) for use in determining the final location fix. In response to determining that the location fix is sufficient in determination block 2912, (e.g., determination block 2912=“Yes”), the device processor may, in block 2916, store the location information (e.g., the location fix and location information associated with the location fix, current location) in a location buffer. The device processor may provide the location fix and/or location information stored in the buffer as a final location fix in block 2926. The device processor may enter an eLBS network mode (or receive eLBS network data) in block 2918. That is, the device processor may receive location based service (LBS) information from other devices. In block 2918, the location based service information may include data received from any and all location based methods or systems disclosed herein or other methods of obtaining LBS information by the device processor and/or external devices and/or servers.

In response to determining that the location fix is not sufficient (e.g., determination block 2912=“No”), in block 2914, the device processor may obtain, sensor data, and/or location information from a server or from other devices (e.g., FIDs and/or MDs). If the device has sensors itself, the device processor may obtain data from these sensors. In block 2922, the device processor may perform dead reckoning (DR) operations to generate DR data that include DR location values (X, Y, Z), a time value, DR location delta values (ΔX, ΔY, ΔZ), confidence values (C_(X), C_(Y), C_(Z)), and one or more precision values. In various embodiments, the device processor may use the DR data and any other received data to perform sensor fusion operations.

In block 2920, the device processor may perform lateration operations to generate updated eLBS information. For example, in block 2920 the device may use the received LBS information and/or DR data to compute the current location of the device that may include one or more of a lateration location values (X, Y, Z), a time value, lateration location delta values (ΔX, ΔY, ΔZ), confidence values (C_(X), C_(Y), C_(Z)), and one or more precision values. The device may use the generated location information to set the current location of the device, (e.g., by storing the generated final location as the current location). At block 2920, a kalman filter may be used with the location data. In block 2924, the device processor may store any or all of the updated eLBS location information in a location buffer. This may include updating the current known/trusted location information of the device.

In various embodiments, the device processor may return to block 2914 to obtain sensor data to improve, or verify location information after a final location has been stored. This may be especially pertinent if the device or one or more components of the device are moved, for example, a device transceiver is moved on an antenna tower or a building, or after a natural disaster, such as an earthquake that may have moved the entire building.

In various embodiments, the device processor may attempt to obtain its positional location in block 2904, and based on the types of position/location information that is provided/received, the device processor may determine a confidence level value for the received information. In various embodiments, the device processor may be configured such that if no responses are received in block 2904, the device processor may use the last location of the device to obtain/determine the initial positional fix. The device processor may also obtain the last location from a database or server. After an initial location fix is obtained, regardless of its accuracy, the device processor may determine whether additional improvements are available, possible, and/or required. If improvements are required, the device processor may use the information collected from its various sensors to determine an estimation of the change in location of the device. In various embodiments, this may be achieved by performing a combination of sensor fusion and/or dead reckoning operations.

As part of the dead reckoning operations in block 2922, the sensor information may be incremented and/or decremented based on any of a variety of weighting filters, including a kalman filter. A kalman filter may be a component in the device that is configured to perform kalman operations on a plurality of input data streams to generate a single output in the form of a location, location information, coordinates, or a waypoint. A kalman filter may be used in others blocks and operations as well. The kalman filter may be a part the device processor or operations executed by the device processor.

in various embodiments, the device may be configured to adjust sensor reading intervals based on each sensor's response characteristics. Adjusting the sensors may allow the device to prevent sensor saturation, thereby improving the device's overall responsiveness. For example, accelerometer data may be updated at 100 Hz intervals, manometer data may be updated at 15 Hz intervals. The difference in the update intervals may be included, or otherwise accounted for, in the dead reckoning determinations made in the device processor (e.g., when the device processor generates a dead reckoning position estimate in block 2922).

In various embodiments, the device processor may be configured to perform operations and calculations to determine or generate location information via lateration at block 2920 that may include any or all of location information derived or received from sensors, DR operations, and network sources. The generated lateration location information may identify the location of the device with respect to other wireless devices, both fixed and mobile. For example, after the dead reckoning data generated in block 2922, the dead reckoning information may be passed to the lateration component (e.g., via memory write operations, wireless transceiver, etc.) to use as inputs in conjunction with the received location information from the wireless/external devices to compute the location of the device. In various embodiments, sensor data associated with the dead reckoning estimate/value may include confidence intervals for the X, Y, and Z axis. These confidence values may identify an individual or overall confidence of the location information.

Generally, performing the eLBS method 2900 improves the performance of the device by improving the location-based solutions described above (e.g., with reference to FIGS. 1-28). For example, eLBS method 2900 may allow the device processor to generate more precise and/or accurate location information, updated eLBS position information, or a more accurate waypoint more efficiently than if the information is generated based solely on received location or dead reckoning information. This method also allows the device to generate more accurate location information with fewer iterations, thereby freeing up the devices resources and improving its performance characteristics. For all these reasons, method 2900 improves the overall functionality of the device.

FIG. 30 illustrates method 3000 for eLBS operations that may be conducted on a computing device according to various embodiments. Method 3000 may be performed by the processor in a FID, such as FID(A) 2101 and/or MD, such as MD(A) 2401, to determine the device's location or to further improve location information if the device is unable to directly connect to a provider network.

In block 3001, the device processor may acquire a network connection. The network connection may be to a cellular network, WiFi network, or any other communication network over which the device processor may communicate and obtain location information. In determination block 3003, the device processor may determine if it is able to obtain location information from external sources. If the device processor is unable to obtain location information from external sources, (e.g., determination block 3003=“No”) the device processor may proceed to determination block 3027. Alternatively, the device processor may wait a period of time during which, or after which, the device processor may attempt to obtain location information from external sources again.

If the device processor is able to obtain location information from external sources immediately or after waiting a period of time, (e.g., determination block 3003=“Yes”), the device processor may attempt to acquire its initial location fix by through obtaining GPS, Cell ID, WiFi ID, enhanced LoranC and/or other location information, or any combination thereof in block 3005. In block 3005, the device processor can also attempt to obtain its near term location fix estimate from small cells used in interior locations, QC codes, and/or RFID chips. In block 3007, the device processor may determine the precision, accuracy, and/or confidence values associated with each of the obtained location information. The obtained location information may each be weighted based on the relative precision, accuracy and/or confidence values. In block 3009, the device processor may attempt to establish a location fix which may be used in eLBS. In determination block 3011, the device processor may determine if the location fix from block 3009 is sufficient. Sufficiency may be based on various factors to include the number of reporting units, confidence value in location information, error(s) associated with location information, accuracy, and/or precision of location fix. If the location fix is sufficient (e.g., determination block 3011=“Yes”), the device processor may buffer/store the location at block 3013 in a location buffer. The location buffer may be any kind of memory to include short term volatile memory, a database, or server. In various embodiments, the location buffer may be an external database such as a network location server.

In determination block 3015, the device processor may determine if the location fix stored in block 3013 is different from a final location or previously buffered location fix. If there is no change, (e.g., determination block 3015=“No”), the device processor may increase the confidence value of the stored location information. The device processor may also enter an eLBS network mode in block 3021.

If determination block 3015 determines that the buffered location is an updated location (e.g., determination block 3015=“Yes”), the device processor may proceed to block 3019 to send the updated location as a final location to requesting fixed infrastructure device or mobile wireless devices that request a location from the device. The device may also send confidence values and/or error estimates regarding the location information the device provides in block 3019. In block 3021, the device processor may connect to external devices, such as a network location server to provide and/or obtain location information. In block 3021, the device may enter an eLBS network mode to send and/or receive location information/eLBS information to and/or from external sources and devices. Block 3021 may be similar in operation and description to block 2918. In block 3021 the FID may perform operations necessary for transmitting and/or receiving location information and/or eLBS information. For each location information received in block 3021, or location information to be sent, the device processor may determine accuracy, precision, confidence value(s) and/or errors associated with each datum. Upon receiving location information or a request for location information, the device processor may proceed to block 3023 lateration from block 3021.

In block 3023, the device processor may use any location information it has received or buffered for lateration operations as described in block 2920. In various embodiments, the device processor may return to block 3021 from block 3023 to enter eLBS network mode and obtain more location information as needed. The device processor may also return to block 3021 if insufficient location data is available to perform lateration, or after lateration operations are completed, the location fix is insufficient. This may include not having enough inputs (e.g., location information from only two satellites), confidence values do not meet a set criterion, error values exceed thresholds, or any other reason why location data may not be sufficient to determine an accurate and/or precise location fix. Upon completing lateration, the device processor may proceed to block 3025 to update the stored eLBS location information. The updated eLBS location may be a final location. The eLBS location may also be the location information reported to external devices or servers in any other block or process. The location information stored in block 3025 may be the location against which new location information is checked to determine if updated location information is available.

In determination block 3003, if external location information is not attained (e.g., determination block 3003=“No”), the device processor may proceed to determination block 3027. In determination block 3027, the device processor may determine if it has sensor data available from which it can determine a location fix. If no sensor data is available (e.g., determination block 3027=“No”) the device processor may proceed to block 3029. In block 3029, the device processor may obtain the last known location fix. The last known location fix may be retrieved from a local buffer or memory, or from an external storage location, such as a network location server. The device processor may proceed to determination block 3011 to determine if the last known fix is sufficient.

If in determination block 3027, sensor data is available, (e.g., determination block 3027=“Yes”) the device processor may proceed to block 3031. In block 3031, the device processor may conduct dead reckoning (DR) operations similar to those described in block 2922 to determine a location or change in location based on the sensor data. The location information from dead reckoning may be used for lateration in block 3023.

In determination block 3011, if the LBS fix is not sufficient (e.g., determination block 3011=“No”), the device processor may proceed to determination block 3033. Determination block 3033 may function similar to determination block 3027. If sensor data is available, (e.g., determination block 3033=“Yes”), the device processor may proceed to block 3031. However, if sensor data is not available, (e.g., determination block 3033=“No”) the device processor may proceed to attempt to conduct lateration operations in block 3023. If there is insufficient location information to conduct lateration operations, or the output of lateration operations are not sufficient, the processor may proceed to block 3021 to enter eLBS network mode to obtain additional location information. Upon obtaining additional location information, the processor may return to block 3023 to conduct lateration operations. These steps may be repeated as many times as necessary to obtain sufficient location information. Alternatively, after a set number of iterations, the device processor may be programmed to accept the value. Once a value is generated and accepted in block 3023, the processor may proceed to block 3025 and update eLBS location that is currently stored by the device processor.

In various embodiments, if the location fix in determination block 3011 is not sufficient (e.g., determination block 3011=“No”), the device processor may proceed to block 3003 to attempt to determine if any external devices are reporting location information.

In various embodiments, the device processor may be configured to request location updates from other devices (e.g., FIDs and/or MDs). The requesting device's initial location may be determined through the use of time of flight (TOF) via two message inquiries. The RSSI may be read as well, and using the TOF and RSSI, the device may more accurately determine the distance between the requesting device and each reporting device. The receiving device processor may use this distance information to better determine its current location via the performance of any or all the methods, operations, or techniques discussed herein.

Privacy (e.g., data privacy) may be an important aspect of modern systems. The various techniques, solutions, methods, and operations discussed herein allow for a wireless device to be identified quickly and effectively without requiring the use of that sensitive data that could be misused by malware or a hacker. For example, rather than using the subscriber's IMSI, the system (e.g., FIDs, MDs, sensors) could use a PN code to generate an independent device ID when the device turns on, and use this device ID for all subsequent communications. The device ID may change every time the device is powered on. For these and other reasons, performing the above-described operations improves the device's overall functionality (e.g., by improving its privacy and security characteristics).

Once the initial handshake has taken place the device may exchange its location information with another FIDs or MDs. The device may provide known points, which may be waypoints, RFID/QC points, WiFi AP points, or any information unit or structure that includes latitude and longitude values, or equivalents thereof. In various embodiments, the device may be configured to receive and/or use four known points to generate more accurate and/or more precise location information.

FIG. 31 illustrates an embodiment of system 3100 for relaying information request messages and obtaining location information from other FID(s) and/or MD(s). The device, FID(A) 2101 in FIG. 31, may use the obtained location information to determine or compute the more precise location information, or an updated location information. With reference to FIGS. 1-30, the system 3100 may include a FID(A) 2101, immediate neighbor devices 3103. Immediate neighbor devices 3103 may include FIDs and/or MDs that are able to communicate directly with FID(A) 2101. 3105 encompasses other devices not in direct communication with FID(A) 2101. These devices may also include FIDs and/or MDs. In some embodiments, one or more of the components in the system 3100 may be configured to track and report the number of hops in a path (e.g., communication pathway, wireless data path). This allows wireless devices that are not initially connected to the FID(A) 2101 in the network to more quickly and efficiently provide data back to FID(A) 2101.

In some embodiments, FID(A) 2101 may be configured to generate, send, receive, and/or use a message/information structure 3106 that may include distance information 3108 and/or location information 3110. The distance information 3108 may include time of flight (TOF) information, an originating device ID field/value, a responding device ID field/value, a priority field/value, a handle time field/value, an originating TAG field/value, RFID information, a latitude field/value, a longitude field/value, an altitude field/value, a bearing field/value, a speed field/value, a timestamp field/value, an accuracy field/value, a barometer field/value, a hop distance field/value, and a path field/value.

The location information 3110 may include an originating device ID field/value, a responding device ID field/value, an originating TAG field/value, a latitude field/value, a longitude field/value, an altitude field/value, a bearing field/value, a speed field/value, a timestamp field/value, an accuracy field/value, a barometer field/value, and a hop distance field/value, a path field/value. In various embodiments, the location information 3110 may also include one or more known points, including a latitude field/value, a longitude field/value, an altitude field/value, a distance field/value, a bearing field/value, a confidence field/value, and/or a device ID field/value. In various embodiments, one or more of the points/known points may be a waypoint that includes any or all of the information, fields, or values discussed above. In various embodiments, any or all of the data/values included in the distance information 3108 and/or location information 3110 messages to determine or compute one or more location information (e.g., current location, final location).

In operation block 3112, the FID(A) 2101 may search for near field (NF) LANs and/or determine whether there are NF LANs available. The NF can use any wireless protocol that is available for use by the device. In operation block 3114, the FID(A) 2101 may determine that there are no NF LANs available. In operation block 3116, FID(A) 2101 may set up a mesh network in response to determining that no NF LANs are available. In operations 3118 and 3120, the FID(A) 2101 may perform various operations to establish an NF LAN. In operation 3118, FID(A) 2101 may establish the role of master in a NF LAN. In operation 3120, FID(A) may establish connections to other immediate neighbor devices to establish a NF LAN.

In operations 3122 through 3128, the FID(A) 2101 may communicate with the immediate neighbor devices 3103 to determine distance(s) between the FID(A) 2101 and its neighbor device(s). In operations 3130 through 3138, the FID(A) 2101 may communicate with the neighbor devices 3103 which may relay information to the other FIDs and/or MDs 3105 to obtain location information. In particular, in operation 3122, the FID(A) 2101 may generate and send a distance request message to one or more of the immediate neighbor devices 3103. In operation 3124, the FID(A) 2101 may receive a distance acknowledgment message from the one or more immediate neighbor devices 3103 that received the distance request message 3122. In operation 3126, the FID(A) 2101 may send a second distance request message to the neighbor devices 3103. In operation 3128, the FID(A) 2101 may receive a second distance acknowledgment message from the neighbor devices 3103. The distance information, and the transmission and reception of messages 3122 through 3128 by FID(A) 2101 to and from neighboring devices 3103 may be used to determine ranging and bearing between FID(A) 2101 and neighboring devices 3103.

In operation 3130, the FID(A) 2101 may send a location information request message to the neighbor devices 3103. In operation 3132, the neighbor devices 3103 may relay the location information request message to other FID(s) and/or MD(s) 3105. In operation 3134, the FID(A) 2101 may receive a location information acknowledgment message from one or more of the neighbor devices 3103. A location information acknowledgment message may include location information structure 3110. It may also only contain an acknowledgment that the location information request was received and has been forwarded to other FID(s) and/or MD(s) 3105. In operation 3136, the neighbor devices 3103 may receive a location information acknowledgment message from one or more of the other FID(s) and/or MD(s) 3105. Other devices 3103 may then relay the location information acknowledgment message or the data contained within it to FID(A) 2101 in operation 3138.

Other devices 3103 may undergo operations 3122 through 3128 with other devices 3105 in order to relay the distances and bearing to neighbor devices 3103. This information may then be relayed to FID(A) 2101 to be used to determine range and bearing to the other devices 3105 providing the location information.

FIG. 32 illustrates a method 3200 that may be performed by a wireless device processor. With reference to FIGS. 1-31, eLBS method 3200 may be executed by FIDs and/or MDs, such as FID(A) 2101 and/or MD(A) 2401. In determination block 3201, the wireless device processor may determine whether information obtained via a geospatial system of the wireless device is sufficient? If in determination block 3201, the location information obtained from the geospatial system is sufficient (e.g., determination block 3201=“Yes”), the processor may proceed to block 3207.

If in determination block 3201, the location information obtained from the geospatial system is not sufficient (e.g., determination block 3201=“No”), the wireless device processor may proceed to block 3203. In block 3203, the wireless device processor may collect location information from a plurality of wireless devices. The wireless devices from which location information is collected may be wireless FIDs, wireless MDs, or a combination of both. In block 3205, the wireless device processor may compute a new, updated and/or improved, location information for the wireless device based on the collected location information from a plurality of wireless devices. In block 3207 the wireless device may buffer and/or store the location information obtained from the geospatial system or the new location information computed in block 3205. Further, in block 3209, the device may use the buffered and/or stored location information for eLBS services or operations.

FIG. 33 illustrates a method 3300 performed by a wireless device processor. With reference to FIGS. 1-32, the eLBS method 3300 illustrates an embodiment where a wireless device processor of a FID or MD, such as FID(A) 2101 or MD(A) 2401, may relay location information requests to various external devices. In block 3301, the wireless device processor may enter eLBS network mode. This may be for various reasons, to include in response to receiving a request for location information from an external device, a step in an initial power on process, or determination that location information or location fix is not sufficient, an update in location information for the device is requested or needed, or for any other reason eLBS information may be needed or updated. In determination block 3303, the device processor may determine if the device has stored location information and if the stored location information sufficient? If the stored location information is sufficient, (e.g., determination block 3303=“Yes”), the device may proceed to block 3309. If the stored location information is not sufficient or there is no stored location information available, (e.g., determination block 3303=“No”), the device may proceed block 3305. Location information may be determined to be insufficient based on criterion stored by the device, or criterion included in a request for location information. Such criterion may include the device does not have the location information, the location information is not does not meet accuracy requirements, the location information does not meet precision requirements, the location information is not from a “new” source (e.g., the requesting device already has information from the satellite or other device), or too long much time has passed since the location information was last determined. In the location information is insufficient, the device may obtain the requested location information from other devices. In block 3305, the device may request location information from one or more external device(s). For simplicity, a single device embodiment is illustrated in FIG. 33. In various embodiments, in block 3305 the FID may forward a received request for location information that the device is unable to provide to other external devices. The device may forward or create a new request for location information and receive location information from external wireless device(s) in block 3307. The requested location information may be received from the external wireless device from which the device requested the location information from or the location information may be received from another wireless device to which the request is further relayed to. The process of requesting and receiving location information may be repeated as many times as necessary. This may be determined by the information in the request for location information, number of tries in a set period of time, or need for location information with set attributes, such as error or uncertainty values meeting specific thresholds, or confidence values above a specific threshold, required accuracy and/or precision values. Upon receiving location information from an external device in block 3307, the device may proceed to determination block 3309. If the location information was requested because of a relayed request, (e.g., determination block 3309=“Yes”), the device may proceed to block 3311. In block 3311, the device may send the location information to the external device. The external device may be the device from which the request was received or to another device that is able to relay the information to the device from which the request for location information originated from. In various embodiments, upon sending the location information to an external device, the device may proceed to block 3313. In alternative embodiments, the device may perform lateration operations prior to sending the location information to the external device in block 3311.

If the location information was not requested because of a relayed response, (e.g., determination block 3309=“No”), the device may proceed to perform lateration operations in block 3313. Lateration operations performed in block 3313 may be similar to those discussed previous in reference to blocks 2320 of FIG. 29 and block 3023 of FIG. 30.

In various embodiments, if the location information was requested because of a relayed request, (e.g., determination block 3309=“Yes”), the device may proceed to block 3313 and conduct lateration prior to sending the location information in block 3311. Alternatively, the FID may send the location information in block 3311 and then proceed to conduct lateration in block 3313. In any embodiment, the location information may be stored in a buffer or other storage location upon receipt of the location information prior to sending the location information, or before or after conducting lateration.

FIG. 34 illustrates method 3400 for eLBS operations that may be conducted on a wireless computing device according to various embodiments. With reference to FIGS. 1-33, the method 3400 may be performed by the processor in of a wireless computer device, such as a FID, such as FID(A) 2101, and/or MD, such as MD(A) 2401. In block 3401, the wireless computing device establishes that it is unable to obtain location information from minimum number of satellites, such as establishing connections to four satellites to obtain GPS timing information. In block 3403, the wireless computing device may conduct discovery operations to locate and discover wireless devices near the wireless computing device. The discovered wireless computer devices may include FIDs and/or MDs. These FIDs and MDs may be neighbor devices as discussed in reference to FIG. 31. In block 3405, the wireless computing device may establish communication links to the discovered FIDs and/or MDs. The wireless computing device may communicate requests for location information to the devices it has established communication links to. The requests may include data structures that include information for which devices, to include satellites, the device has already received location information from and any other information as indicated in data structures 3106. In block 3407 the wireless computing device may receive location information from the external devices it has established communications to. The location information may include any or all of GPS information, GPS timing, or ranging and bearing to each FID or MD the device is connected to and receiving location information from or any other data contained in data structure 3106. The location information received in block 3407 may include location information that was requested from other FIDs and/or MDs the wireless computing device is unable to communicate with directly. The location information may also be received from FIDs and/or MDs that the wireless computing device is unable to communicate to directly to but is able to receive communications from. Upon receiving the location information, the wireless computing device may proceed to determination block 3409. In determination block 3409, the wireless computing device may determine if the location information is sufficient to establish a fix. If the wireless computing device does not have sufficient information to establish a fix in determination block 3409, (e.g., determination block 3409=“No”) the wireless computing device may return to block 3403 and discover additional FIDs and/or MDs from which to obtain additional location information from. The wireless computing device may also attempt to discover new satellites in order to obtain an eLBS fix. The acquisition of new satellites can be enhanced through the obtainment of GPS timing information required to obtain the satellite lock. If the wireless computing device is has sufficient location information to establish a fix, (e.g., determination block 3409=“Yes”), the wireless computing device may proceed to block 3411. In block 3411 the wireless computing device may establish a location fix. Even though a wireless computing device has enough location information to establish a fix, the information may not be sufficient for various reasons, to include confidence values are too low, the errors in measurement are too great, and/or prevision is too low. Once a location fix has been obtained in block 3411, the wireless computing device may use the location fix for eLBS services. These may include for establishing the location of the device, and/or providing the location fix to other devices for LBS.

The various embodiments may be implemented on a variety of mobile computing devices, an example of which is illustrated in FIG. 35. Specifically, FIG. 35 is a system block diagram of a computing transceiver device in the form of a computer 3500 suitable for use with any of the embodiments. The computing device 3500 may include a processor 3501 coupled to internal memory 3502, a display 3503. Additionally, the computing device 3500 may include an antenna 3504 for sending and receiving electromagnetic radiation that may be connected to a wireless data link and/or cellular telephone transceiver 3505 coupled to the processor 3501. Computing devices 3500 typically also include menu selection buttons, rocker switches, and/or keyboard 3508 for receiving user inputs.

A typical computing device 3500 also includes a sound encoding/decoding (CODEC) circuit 3524 which digitizes sound received from a microphone into data packets suitable for wireless transmission and decodes received sound data packets and decodes received sound data packets to generate analog signals that are provided to the speaker 3504 to generate sound. Also, one or more of the processor 3501, wireless transceiver 3505 and CODEC 3524 may include a digital signal processor (DSP) circuit (not shown separately). The cell phone 3500 may further include a peanut or a ZigBee transceiver (e.g., an IEEE 802.15.4 transceiver) 3506 for low-power short-range communications between wireless devices, or other similar communication circuitry (e.g., circuitry implementing the Bluetooth® or WiFi protocols).

Various embodiments may be implemented on any of a variety of commercially available server devices, such as the server 3600 illustrated in FIG. 36. Such a server 3600 typically includes one or more processors 3601, 3602 coupled to volatile memory 3603 and a large capacity nonvolatile memory, such as a disk drive 3604. The server 3600 may also include a floppy disc drive, compact disc (CD) or DVD disc drive 3605 coupled to the processor 3601. The server 3600 may also include network access ports coupled to the processor 3601 for establishing data connections with a network, such as a local area network coupled to other communication system computers and servers. Connections may be wireless or wired/physical connection(s) 3606 which may include CAT 5, CAT 5 e, CAT 6, fiber optic cable, and/or other physical connections to external computing devices, components or servers.

The processors 3501, 3601, and 3602 may be any programmable microprocessor, microcomputer, or multiple processor chip or chips that can be configured by software instructions (applications) to perform a variety of functions, including the functions of the various embodiments described below. In some mobile devices, multicore processors 3602 may be provided, such as one processor core dedicated to wireless communication functions and one processor core dedicated to running other applications. Typically, software applications may be stored in the internal memory 3502, 3603, and 3604 before they are accessed and loaded into the processor 3501, 3601, and 3602. The processor 3501, 3601, and 3602 may include internal memory sufficient to store the application software instructions.

The wireless device location determination techniques described herein may be implemented in conjunction with various wireless communication networks such as a wireless wide area network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The term “network” and “system” are often used interchangeably. A WWAN may be a Code Division Multiple Access (CDMA) network, a Frequency Division Multiple Access (FDMA) network, a Time Division Multiple Access (TDMA) network, an OFDMA network, a 3GPP LTE network, a WiMAX (IEEE 802.16) network, and so on. A CDMA network may implement one or more radio access technologies (RATs) such as CDMA2000, Wideband-CDMA (W-CDMA), and so on. CDMA2000 includes IS-95, IS-2000, and IS-856 standards. W-CDMA is described in documents from a consortium named “3rd Generation Partnership Project” (3GPP). CDMA2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. A WLAN may be an IEEE 802.11x network, and a WPAN may be a Bluetooth™ network, an IEEE 802.15x, or some other type of network. The techniques may also be implemented in conjunction with any combination of WWAN, WLAN, and/or WPAN.

The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the blocks of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art the order of blocks in the foregoing embodiments may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the blocks; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an” or “the” is not to be construed as limiting the element to the singular.

The various illustrative logical blocks, modules, circuits, and algorithm blocks described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and blocks have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some blocks or methods may be performed by circuitry that is specific to a given function.

In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable medium or non-transitory processor-readable medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module which may reside on a non-transitory computer-readable or processor-readable storage medium. Non-transitory computer-readable or processor-readable storage media may be any storage media that may be accessed by a computer or a processor. By way of example but not limitation, such non-transitory computer-readable or processor-readable media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or computer-readable medium, which may be incorporated into a computer program product.

The preceding description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein. 

What is claimed is:
 1. A method of providing a location based service on a first fixed wireless device, the method comprising: determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system; collecting location information from a plurality of mobile devices in a communication group in response to determining the first fixed wireless device is unable to establish a location fix, wherein the plurality of mobile devices comprises at least a second wireless device; computing more precise location information including a new three-dimensional location fix for the first fixed wireless device based on the location information collected from the plurality of mobile devices in the communication group, wherein computing the more precise location information comprises using horizontal data to determine a position relative to the Earth's surface, using vertical data to determine a height of the position relative to sea level, and generating three-dimensional information based on the determined position and the determined height; and using the generated three-dimensional information to provide a location based service.
 2. The method of claim 1, wherein collecting the location information from the communication group comprises receiving GPS timing information from the second wireless device.
 3. The method of claim 1, wherein collecting the location information from the communication group comprises collecting location information from at least one fixed wireless device.
 4. The method of claim 1, wherein collecting the location information from the communication group comprises receiving forwarded location information from a first member of the communication group, the forwarded location information being forwarded to the first member from a second member of the communication group.
 5. The method of claim 1, wherein collecting the location information from the communication group comprises receiving forwarded location information from a first member of the communication group, the forwarded location information being forwarded to the first member from a fixed wireless device or a mobile wireless device that is outside of the communication group.
 6. The method of claim 1, wherein collecting location information further comprises collecting location information from a network based location server.
 7. The method of claim 1, wherein the first fixed wireless device is a fixed infrastructure device (FID) selected from the group comprising: a cell tower antenna; an eNodeB; a small cell device; a femto cell device; a WiFi access node; and a beacon device.
 8. The method of claim 7, wherein the first fixed wireless device includes a geospatial positioning system.
 9. The method of claim 7, wherein the first fixed wireless device does not include a geospatial positioning system.
 10. The method of claim 1, further comprising: determining whether information obtained via the geospatial system is accurate; collecting location information from a plurality of devices in the communication group response to determining that the information obtained via the geospatial system is not accurate; computing more precise location information based on the collected location information; and using the computed more precise location information to provide the location based service.
 11. The method of claim 1, further comprising: establishing a first connection to a data network, wherein the first connection is not a cellular data uplink transmission path; obtaining location information for a current location of the first fixed wireless device via the first connection; determining a variance between the received location information and a locally determined location; determining whether the variance exceeds a threshold value; collecting additional location information from a plurality of transceivers in the communication group in response to determining that the variance exceeds the threshold value; computing more precise location information based on the location information collected from the plurality of transceivers; and using the more precise location information to provide the location based service.
 12. A fixed wireless device, comprising: a processor configured with processor-executable instructions to perform operations comprising: determining whether the fixed wireless device is able to establish a location fix based on information obtained via a geospatial system; collecting location information from a plurality of mobile devices in a communication group in response to determining the fixed wireless device is unable to establish a location fix, wherein the plurality of mobile devices comprises at least a second wireless device; computing more precise location information including a new three-dimensional location fix for the fixed wireless device based on the location information collected from the plurality of mobile devices in the communication group, wherein computing the more precise location information comprises using horizontal data to determine a position relative to the Earth's surface, using vertical data to determine a height of the position relative to sea level, and generating three-dimensional information based on the determined position and the determined height; and using the generated three-dimensional information to provide a location based service.
 13. The fixed wireless device of claim 12, wherein the processor is configured with processor-executable instructions to perform operations such that collecting location information from the communication group comprises receiving GPS timing information by the fixed wireless device from the at least a second wireless device.
 14. The fixed wireless device of claim 12, wherein the processor is configured with processor-executable instructions to perform operations such that collecting the location information from the communication group comprises collecting location information from at least one fixed wireless device.
 15. The fixed wireless device of claim 12, wherein the processor is configured with processor-executable instructions to perform operations such that collecting location information from the communication group comprises receiving by the fixed wireless device location information that was forwarded by a first member of the communication group from a second member of the communication group.
 16. The fixed wireless device of claim 15, wherein the processor is configured with processor-executable instructions to perform operations such that collecting location information from the communication group comprises receiving, by the fixed wireless device, location information that was forwarded by the first member of the communication group from a fixed wireless device or a mobile wireless device that is outside of the communication group.
 17. The fixed wireless device of claim 12, wherein the processor is configured with processor-executable instructions to perform operations such that collecting location information further comprises collecting a three-dimensional location information from a network based location server.
 18. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor of a fixed wireless device to perform operations, comprising: determining whether the fixed wireless device is able to establish a location fix based on the information obtained via a geospatial system; collecting location information from a plurality of mobile devices in a communication group in response to determining the fixed wireless device is unable to establish a location fix, wherein the plurality of mobile devices comprises at least a second wireless device; computing more precise location information including a new three-dimensional location fix for the fixed wireless device based on the location information collected from the plurality of mobile devices in the communication group, wherein computing the more precise location information comprises using horizontal data to determine a position relative to the Earth's surface, using vertical data to determine a height of the position relative to sea level, and generating three-dimensional information based on the determined position and the determined height; and using the generated three-dimensional information to provide a location.
 19. A system for providing a location based service, comprising: a first fixed wireless device comprising a first device processor; and a plurality of mobile devices including a second wireless device comprising a second device processor, wherein: the first fixed wireless device and the plurality of mobile devices belong to a first communication group; the first device processor is configured with processor executable instructions to perform operations comprising: determining whether the first fixed wireless device is able to establish a location fix based on information obtained via a geospatial system; collecting location information from the plurality of mobile devices in the communication group in response to determining that the first fixed wireless device is unable to establish a location fix based on the information obtained via the geospatial system; computing more precise location information including a new three-dimensional location fix for the first fixed wireless device based on the location information collected from the plurality of mobile devices in the communication group, wherein computing the more precise location information comprises using horizontal data to determine a position relative to the Earth's surface, using vertical data to determine a height of the position relative to sea level, and generating three-dimensional information based on the determined position and the determined height; and using the generated three-dimensional information to provide a location based service. 